求最大公約數
問題描述:
用戶輸入兩個整數,輸出其最大公約數。
枚舉法程序:
#include <stdio.h>
int main()
{
int a, b;
int i ;
int c;
scanf("%d %d",&a, &b) ;
for(i=1; i<=a && i<=b; i++){
if(a%i == 0 && b%i == 0){
c = i;
}
}
printf("%d和%d的最大公約數是%d。\n", a, b, c);
return 0;
}
輾轉相除法程序:
(1)
#include <stdio.h>
int main()
{
int a, b;
int c ;
int a0, b0;
scanf("%d %d",&a, &b) ;
a0 = a;
b0 = b;
while(a % b != 0){
c = a%b;
a = b;
b = c;
}
printf("%d和%d的最大公約數是%d。\n", a0, b0, b);
return 0;
}
(2)
#include <stdio.h>
int main()
{
int a, b;
int c ;
int a0, b0;
scanf("%d %d",&a, &b) ;
a0 = a;
b0 = b;
while(b != 0){
c = a%b;
a = b;
b = c;
}
printf("%d和%d的最大公約數是%d。\n", a0, b0, a);
return 0;
}