最大公约数
1.穷举法
#include<stdio.h>
int qj(int x,int y)
{
int n,i;
n=x;//找出两个数中较为小的数
if(n>y)
n=y;
for(i=n;i>=1;i--)
{
if(x%i==0&&y%i==0)
break;
}
return i;
}
int main()
{
int x,y;
int n;
scanf("%d/%d",&x,&y);
n=grc(x,y);
printf("%d\n",n);
return 0;
}
2.辗转相除法
有两整数a和b: ① x%y得余数c
② 若c=0,则y即为两数的最大公约数
③ 若c≠0,则x=y,y=c,再回去执行①
#include<stdio.h>
int grc(int x,int y)
{
int n,c;
n=y;
c=x%y;
while(c!=0){
x=y;
y=c;
c=x%y;
}
return y;
}
int main()
{
int x,y;
int n;
scanf("%d/%d",&x,&y);
n=grc(x,y);
printf("%d\n",n);
retu