求两个数的最大公约数?
求两个数的最大公约数?
#include <stdio.h>
void main()
{
int a,b,c;
printf("input two interge:");
scanf("%d%d",&a,&b);
c=a>=b?b:a;
while(a%c!=0||b%c!=0)c--;
printf("这两个数的最大公因数:%d\n",c);
}
献臭了.
恩,少了界限,这样会一值循环的
辗转相除法
#include<stdio.h>
void main()
{
int m,n,r;
scanf("%d%d",&m,&n);
while(r=m%n)
{
m=n,n=r;
}
printf("%d\n",n);
}
可以不判断m,n和大小,当m>n时就直接循环,
如果m<n时只是多做了一次循环.
可以不判断m,n和大小,当m>n时就直接循环,
如果m<n时只是多做了一次循环.
对