您的位置:首页 > 其它

4.1趣味分数之,最大公约数最大公倍数

2016-04-05 14:27 274 查看
//穷举法

//两个最大公约数

if 0

int main(int argc,char* argv[]){

int m,n;

printf(“输入两个数:\n”);

scanf(“%d%d”,&m,&n);

//交换两个数,m存大值,n存小值

if (n>m) {

int tmp=m;

m=n;

n=tmp;

}

int max=1;//最大公约数
for (int i=1; i<n; i++) {
if (n%i==0&&m%i==0) {
max=i;
}
}
printf("最大公约数:%d",max);

return 0;


}

endif

//转转相除法

int main(int argc,char* argv[]){

int m,n;

printf(“输入两个数:\n”);

scanf(“%d%d”,&m,&n);

//交换两个数,m存大值,n存小值

if (n>m) {

int tmp=m;

m=n;

n=tmp;

}

int b=m%n;
while (b) {
m=n;//m为小值
n=b;//n为余数
b=m%n;//辗转相除

}

printf("最大公约数:%d",n);

return 0;


}

三.递归

//递归函数

int main()

{

int n,m;

int GCD(int,int);

scanf(“%d %d”,&n,&m);

printf(“%d\n”,GCD(n,m));

}

int GCD(int n,int m)

{

if(m<=n)

if(n%m==0)

return(m);

else

return GCD(m,n%m);

else

return GCD(m,n);

}

最大公倍数==两个数乘积除以最大公约数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: