#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a,b;
int x;
scanf("%d %d", &a, &b);
for(x=1;(x<=a)&&(x<=b);x++)
{
if ((a%x!=0)||(b%x!=0))
{
continue;
}
printf("%d\n",x);
}
system("PAUSE");
return 0;
}
#include
#include
int main(int argc, char *argv[])
{
int a,b;
int x;
scanf("%d %d", &a, &b);
for(x=1;(x<=a)&&(x<=b);x++)
{
if ((a%x!=0)||(b%x!=0))
{
continue;
}
printf("%d\n",x);
}
system("PAUSE");
return 0;
}
請用"輾轉相除法"去解:
若x<y的話,則gcd函數得到gcd(y,x%y)=gcd(y,x):
int gcd(int x,int y){
if(y==0){
return x;
}else{
return gcd(y,x%y);
}
}