//作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/
1 #include<stdio.h> 2 //最大公约数 3 int gys(int x,int y){ 4 int r; 5 while(y!=0){ 6 r=x%y; 7 x=y; 8 y=r; 9 } 10 return x; 11 } 12 //最小公倍数 13 int gbs(int x,int y){ 14 int z; 15 z=x*y/gys(x,y); 16 return z; 17 } 18 19 void main(){ 20 int x,y; 21 printf("Please input two numbers:\n"); 22 scanf("%d %d",&x,&y); 23 if(x<y){//交换x, y 24 x=x+y; 25 y=x-y; 26 x=x-y; 27 } 28 printf("%d 与 %d 的最大公约数为 %d\n",x,y,gys(x,y)); 29 printf("%d 与 %d 的最小公倍数为 %d\n",x,y,gbs(x,y)); 30 }
结果为: