C 语言实例 - 求两数最小公倍数
用户输入两个数,求这两个数的最小公倍数。
实例 - 使用 while 和 if
#include <stdio.h>
int main()
{
int n1, n2, minMultiple;
printf("输入两个正整数: ");
scanf("%d %d", &n1, &n2);
// 判断两数较大的值,并赋值给 minMultiple
minMultiple = (n1>n2) ? n1 : n2;
// 条件为 true
while(1)
{
if( minMultiple%n1==0 && minMultiple%n2==0 )
{
printf("%d 和 %d 的最小公倍数为 %d", n1, n2,minMultiple);
break;
}
++minMultiple;
}
return 0;
}
#include <stdio.h>
int main()
{
int n1, n2, minMultiple;
printf("输入两个正整数: ");
scanf("%d %d", &n1, &n2);
// 判断两数较大的值,并赋值给 minMultiple
minMultiple = (n1>n2) ? n1 : n2;
// 条件为 true
while(1)
{
if( minMultiple%n1==0 && minMultiple%n2==0 )
{
printf("%d 和 %d 的最小公倍数为 %d", n1, n2,minMultiple);
break;
}
++minMultiple;
}
return 0;
}
运行结果:
输入两个正整数: 72 120
72 和 120 的最小公倍数为 360
实例 - 通过最大公约数计算
#include <stdio.h>
int main()
{
int n1, n2, i, gcd, lcm;
printf("输入两个正整数: ");
scanf("%d %d",&n1,&n2);
for(i=1; i <= n1 && i <= n2; ++i)
{
// 判断最大公约数
if(n1%i==0 && n2%i==0)
gcd = i;
}
lcm = (n1*n2)/gcd;
printf("%d 和 %d 的最小公倍数为 %d", n1, n2, lcm);
return 0;
}
#include <stdio.h>
int main()
{
int n1, n2, i, gcd, lcm;
printf("输入两个正整数: ");
scanf("%d %d",&n1,&n2);
for(i=1; i <= n1 && i <= n2; ++i)
{
// 判断最大公约数
if(n1%i==0 && n2%i==0)
gcd = i;
}
lcm = (n1*n2)/gcd;
printf("%d 和 %d 的最小公倍数为 %d", n1, n2, lcm);
return 0;
}
运行结果:
输入两个正整数: 72 120
72 和 120 的最小公倍数为 360