c语言中求最大公约数和最小公倍数
第一行输入一个正整数n,表示测试组数。下面是n对数据,对于每对整数输出其最大公约数和最小公倍数
1回答
-
望远
#include<stdio.h>//获得最大公因子int getbig(int x,int y){ int temp,r,x1,y1; x1=x; y1=y; if(x<y){ temp=x; x=y; y=temp; } r=y; while(x%y){ r=x%y; x=y; y=r; } printf("%d和%d的最大公因子:%d\n",x1,y1,r); return r;}//获得最小公倍数void getsmall(int x,int y){ int result=0; result=(x*y)/getbig(x,y); printf("%d和%d的最小公倍数:%d\n",x,y,result);}void main(){ int n,a,b,i; printf("请输入数据数量(几对):"); scanf("%d",&n); for(i=0;i<n;i++) { printf("第%d组数据:",(i+1)); scanf("%d%d",&a,&b); getsmall(a,b); } }运行结果: