如何求两个数的最小公倍数c语言,C程序寻找两个数字的最小公倍数(LCM)

C程序寻找两个数字的最小公倍数(LCM)

在此示例中,您将学习如何计算用户输入的两个数字的LCM(最小公倍数)。

要理解此示例,您应该了解以下C语言编程主题:

两个整数n1和n2的LCM是最小的正整数,可以被n1和n2完全整除(没有余数)。 例如,72和120最小公倍数(LCM)为360。

使用while和if计算LCM(最小公倍数)#include 

int main() {

int n1, n2, min;

printf("输入两个正整数: ");

scanf("%d %d", &n1, &n2);

//n1和n2之间的最大值存储在min内

min = (n1 > n2) ? n1 : n2;

while (1) {

if (min % n1 == 0 && min % n2 == 0) {

printf("%d和%d的LCM是%d。", n1, n2, min);

break;

}

++min;

}

return 0;

}

输出结果输入两个正整数: 72

120

72和120的LCM是360。

在此程序中,用户输入的整数分别存储在变量n1和中n2。

n1和n2的最大值存储在min中,两个数的LCM不能小于min。

while循环的测试表达式始终为真。

在每次迭代中,检查min是否能被n1和n2完全整除。if (min % n1 == 0 && min % n2 == 0) { ... }

如果这个测试条件不为真,那么min将递增1,并继续迭代,直到If语句的测试表达式为真为止。

也可以使用以下公式找到两个数字的LCM:LCM = (num1*num2)/GCD

了解如何在C语言编程中找到两个数字的GCD。

使用GCD计算LCM#include 

int main() {

int n1, n2, i, gcd, lcm;

printf("输入两个正整数: ");

scanf("%d %d", &n1, &n2);

for (i = 1; i <= n1 && i <= n2; ++i) {

// 检查i是否是两个整数的因数

if (n1 % i == 0 && n2 % i == 0)

gcd = i;

}

lcm = (n1 * n2) / gcd;

printf("两个数字%d和%d的LCM为%d。", n1, n2, lcm);

return 0;

}

输出结果输入两个正整数: 78

150

两个数字78和150的LCM为1950。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值