计算最大公约数

Posted la-pu-ta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算最大公约数相关的知识,希望对你有一定的参考价值。

计算最大公约数

  1. 穷举法

    穷举范围: t=min(a,b)

    从t开始逐次减1,并进行检验 第一个满足条件即可

  2. 辗转相除法 (欧几里得法)

    do{ 			//计算a,b的最大公约数
        r=a%b;
    	a=b;
        b=r;
    }while(r!=0);
    
    
    
  3. 更相损减法

    int gcd(int a,int b)
    {
        if(a==b) return a;
        else if(a>b) return gcd(a-b,b);
        else return gcd(a,b-a);
    }
    int gcd(int a,int b)
    {
        while(a!=b)
        {
            if(a==b) return a;
            if(a>b) a=a-b;
            else b=b-a;
        }
    }
    

n位逆序数

void reverse(int n)
{
    while(n!=0)
    {
		printf("%d",n%10);
        n /= 10;
    }
    printf("
");
}



//改进:引入动态局部变量
void reverse(int n)
{
    int a;
    int sum=0;
    while(n!=0)
    {
        a=n%10
		//printf("%d",n%10);
        sum=sum*10+a;
        n /= 10;
    }
    //printf("
");
    return sum;
}

个人网站:DiffidentAres’s Blog

以上是关于计算最大公约数的主要内容,如果未能解决你的问题,请参考以下文章

android小知识点代码片段

从JVM的角度看JAVA代码--代码优化

URL片段的最大长度(哈希)

Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段

golang代码片段(摘抄)

10个JavaScript代码片段,使你更加容易前端开发。