求最大公约数之穷举法
求最大公约数之穷举法 int a,b,c,gcd; scanf("%d%d",&a,&b); c = a<b?a:b; int i=1; for(i=c;i>=1;i--){ if(a%i==0 && b%i==0){ gcd=i; printf("GCD=%d\n",gcd); break; } } return 0;
求最大公约数之更相减损术
求最大公约数之更相减损术 int a,b,c,d,gcd; scanf("%d%d",&a,&b); if(a%2==0&&b%2==0){ c=a<b?a:b; gcd=c/2; printf("1\n%d",gcd); }else{ while(a!=b){ d = a>b?b:a; a = a>b?a-b:b-a; b=d; } gcd = a; printf("2\n%d",gcd); } return 0;
求最大公约数之辗转相除法
求最大公约数之辗转相除法 int a,b,c,d,gcd; scanf("%d%d",&a,&b); c = a<b?b%a:a%b; d = a<b?a:b; if(c==0){ gcd=a<b?a:b; printf("gcd=%d\n",gcd); }else{ while(c!=0){ int i; i = c; c=d%c; d = i; } printf("gcd=%d",d); } return 0; }
标签:gcd,穷举法,int,scanf,d%,C语言,最大公约数,三种 From: https://www.cnblogs.com/yonlanmoji/p/17744459.html