int main (void) { int a,b,c; printf("输入需要找最大公约数的两个数\n"); scanf("%d%d",&a,&b); int s=1; for(c=1;c<=((a>b)?a:b);c++) { if(a%c==0 && b%c==0) s=c; } printf("%d",s); return 0; }
int f(int a,int b) { int t; if(a<b) { t=a; a=b; b=t; } int c,d; while(1) { c=a/b; d=a%b; if(d==0) return b; a=b; b=d; } }
int gcd(int x,int y) //欧几里得辗转相除法求两数的最大的公约数 { if(x<y) return gcd(y,x); if(x%y!=0) return gcd(y,x%y); else return y; }
int foo(int e,int f) { if(e<f) foo(f,e); int b,c,d; for(b = e, c = f; d = b % c; b = c, c = d); return c; }
#include<stdio.h> void main( ) { int a,b,c; printf("输入需要找最大公约数的两个数\n"); scanf("%d,%d",&a,&b); for(c=a<b?a:b;c&&(a%c||b%c);c--); printf("%d\n",c); }
[此贴子已经被作者于2015-12-31 11:21编辑过]