计算最大公约数
Posted la-pu-ta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算最大公约数相关的知识,希望对你有一定的参考价值。
计算最大公约数
-
穷举法
穷举范围: t=min(a,b)
从t开始逐次减1,并进行检验 第一个满足条件即可
-
辗转相除法 (欧几里得法)
do{ //计算a,b的最大公约数 r=a%b; a=b; b=r; }while(r!=0);
-
更相损减法
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;
}
以上是关于计算最大公约数的主要内容,如果未能解决你的问题,请参考以下文章
Vue3官网-高级指南(十七)响应式计算`computed`和侦听`watchEffect`(onTrackonTriggeronInvalidate副作用的刷新时机`watch` pre)(代码片段