兩個數的最大公約數和最小公倍數
阿新 • • 發佈:2018-11-01
一、思路:
1、最大公約數和最小公倍數的範圍:
最大公約數:1——兩個數中的最小值
最小公倍數:兩數中的最大值——兩數之積
2、最小公倍數:
在範圍內,由大到小,依次分別除以兩個數,第一個同時整除的數字即為最小公倍數
3、最大公約數:
在範圍內,由小到大,分別用兩個數去除以範圍內由小到大的值,第一個可以同時整除的數值即為最大公約數
二、程式碼實現
#include <stdio.h>
//最小公倍數
int z_x(int x,int y)
{
int z,max,i;
max=x>y?x:y;
for(i=x*y;i>=max;i--)
if (i%x==0&&i%y==0)
z=i;
return(z);
}
//最大公約數
int z_d(int x,int y)
{
int z,min,i;
min=x<y?x:y;
for(i=1;i<=min;i++)
if(x%i==0&&y%i==0)
z=i;
return(z);
}
//主函式
void main()
{
int a,b,zx,zd;
clrscr();
printf("PL. input 2 integers:");
scanf("%d%d",&a,&b);
zx=z_x(a,b);
zd=z_d(a,b);
printf ("zuida gongyueshu=%d\n",zd);
printf("zuixiao gongbeishu=%d",zx);
}