a024
輸入說明 :
兩個整數 大於 0, 小於 231
輸出說明 : 最大公因數為一整數
找gcd,以後再約分的時候會用到,因為約分就除以最大公因數
不是正規gcd(輾轉相除法)的寫法,從比較小的數慢慢遞減看可不可以整除兩個數,找到了就跳出迴圈
#include<stdio.h>
int main(){
long long int a,b,i;
while(scanf("%lld %lld",&a,&b)!=EOF)
{
if(a>=b)
{
for(i=b;i>0;i--)
{
if(a%i==0&&b%i==0)
break;
}
}
else
{
for(i=a;i>0;i--)
{
if(a%i==0&&b%i==0)
break;
}
}
printf("%d\n",i);
}
return 0;
}
輾轉相除法的寫法,把餘數變除數,把除數變被除數
#include<stdio.h>
int main()
{
int n,r,temp;
while(scanf("%d%d",&n,&r)!=EOF)
{
while(n%r!=0)
{
temp=n%r;
n=r;
r=temp;
}
printf("%d\n",r);
}
}