#include <stdio.h>
#define swap(a,b) { a=a+b; b=a-b; a=a-b; }
int gcd(int x,int y){
if(y==0)
return x;
else
return gcd(y,x%y);
}
int lcd(int x,int y){
return (x*y)/gcd(x,y);
}
int main(){
int m,n;
while(scanf("%d%d",&m,&n)!=EOF){
if(m<n) swap(m,n);
printf("最大公约数:%d\n",gcd(m,n));
printf("最小公倍数:%d\n",lcd(m,n));
}
return 0;
}
1711c-exercise-example16
参考方法:
#include <stdio.h>
long maxn(long a, long b)
{
long temp;
while(1)
{
if(a==b) return a;
else if(a < b) b -= a;
else a -= b;
}
}
int main()
{
long a, b, m, n;
printf("请输入两个正整数: ");
scanf("%ld %ld", &a, &b);
printf("输入的数字是: %ld和%ld\n", a, b);
m = maxn(a, b);
n = a * b / m;
printf("最大公约数是: %ld\n最小公倍数是: %ld\n", m, n);
}
1715c-exercise-example17
参考方法:
1714c-exercise-example17
参考方法:
1713c-exercise-example17
参考方法:
1712c-exercise-example16
参考方法:
1711c-exercise-example16
参考方法: