1062: 最大公约数
题目描述
输入两个不大于10的9次方的正整数,输出其最大公约数。
输入
输入两个正整数m和n,数据之间用空格隔开。
输出
输出一个整数,表示m和n的最大公约数。
样例输入 Copy
4 6
样例输出 Copy
2
提示
请查阅欧几里得定理及辗转相处法。
代码
#include<stdio.h>
int main()
{
int m,n,r,t;
scanf("%d%d",&m,&n);
//使m为两个数中较大的那个
if(m<n)
{
t=m;m=n;n=t;
}
while((r=m%n)!=0)
{
m=n;
n=r;
}
printf("%d\n",n);
return 0;
}
代码
#include<stdio.h>
int main()
{
int m,n,r,t;
scanf("%d%d",&m,&n);
//使m为两个数中较大的那个
if(m<n)
{
t=m;m=n;n=t;
}
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
printf("%d\n",m);
return 0;
}