C語言實現3個數的最小公倍數和最大公約數
阿新 • • 發佈:2019-01-30
根據求兩個數的最小公倍數和最大公約數的方法求3個數的最大公約數和最小公倍數。
主要的思想就是利用a%b==0&a%c==0這樣的來判斷是否滿足,再利用迴圈計數即可。
#include<stdio.h>
int main()
{
int x,y,z,tem,i=1,num;
int k=1;
printf("輸入3個數:\n");
scanf("%d %d %d",&x,&y,&z);
tem=x; //假設x最小
if(tem>y) //尋找三個數的最小值
{
tem=y ;
}
if(tem>z)
{
tem=z;
}
for(i=1;i<=tem;i++) //設立迴圈的次數
{
if(x%i==0&&y%i==0&&z%i==0) //最大公約數需要滿足的條件
{
num=i;
}
}
while(1) //永遠成立,無條件迴圈
{
if(k%x==0&k%y==0&k%z==0) //判斷是否為最小公倍數
break;
else
k++;
}
printf("兩個數的最大公約數為:%d\n",num);
printf("兩個數的最小公倍數為:%d\n",k);
}
結果測試: