【C语言编程100题】-6-最小公倍数

1,题目描述:输入两个整数,计算两个整数的最小公倍数,并打印。

2,解题思路:

1)明确概念:最小公倍数是指两个或多个整数共有倍数中最小的一个。

2)思路:

a.公倍数一定大于这两个整数,我们可以从这两个整数中的较大值开始尝试。

b.从小到大依次判断能否同时整除这两个数,若某个数可以同时被这两个书整除,则该数为公倍数。

c.第一个找到的数就为最小公倍数。

注意:最小公倍数可以由两数乘积(需要在原始两个整数还未发生改变时,设定另一个变量来存放)两数的最大公约数求得。

方法一:辗转相除法

#include <stdio.h>
int main()
{
	int m,n;
	scanf("%d %d",&m,&n);
	int temp=m*n;
	while(int k=m%n)
	{
		m=n;
		n=k;
	}
	printf("%d",temp/n);
	return 0;
}

 运行结果:

方法二:试除法

#include <stdio.h>
int main()
{
	int m=0,n=0;
	scanf("%d %d",&m,&n);
	int k=(m>n?m:n);
	while(1)
	{
//若k同时被两数整除,则k为公倍数,并且此时是最小公倍数
		if(k%m==0&&k%n==0)
		{
			printf("%d\n",k);
			break;
		}
		k++;
	}
	return 0;
}

运行结果:注意:以上编译环境均为Dev-c++。

若有错误,希望各位朋友可以同我一起交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值