题目描述
输入两个正整数,输出其最大公约数。
输入
输入两个正整数m和n,数据之间用空格隔开。
输出
输出一个整数,表示m和n的最大公约数。
样例输入
4 6
样例输出
2
代码1:
#includeint main () { int m,n,min; int i,d; scanf("%d %d",&m,&n); if(m>n) { min=n; } else { min=m; } d=0; for(i=2;i<=min;i++) { if(m%i==0) if(n%i==0) d=i; } printf("%d",d); return 0; }
(这个方法是可以的,不过你要是写oj交这个会超时)
代码2:(辗转相除法)
//m n t //4 6 4 //6 4 2 //4 2 0 //2 0 #includeint main () { int m,n,t; scanf("%d %d",&m,&n); while(n>0) { t=m%n; m=n; n=t; } printf("%d",m); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)