C语言之求两个数的最大公因数和最小公倍数

最大公因数:找到两数之间的最小数,从最小的数开始向1遍历,最先得到的就是最大的因子

最小公倍数:思路一:两数之积再除以最大因子

                     思路二:从二者中最大的一个开始向两数之积遍历,即可得到最小公倍数

#include<stdio.h>

int main()  
 {
 	int m, n,min;
 	int i;
 	scanf("%d%d",&m,&n);   
 	min = m > n ? n : m ;  //条件运算符 
 	for(i=min;i >= 1;i--)  //公约数范围                                        
 	{
 		if(m % i == 0 && n % i == 0 )  //被两个数同时整除                       
 		{
 			printf("最大公约数为:%d \n",i);
 			break; //若可整除,一定是最大,就break 
		 }
	 }
	 printf("最小公倍数为:%d\n",m*n/i);
 	return 0;
   }

运行结果如下:

 用思路二求最小公倍数如下:

#include<stdio.h>
int main()   
 {
 	int m,n,max;
 	scanf("%d%d",&m,&n);                                                       
 	int i;
 	max = m >n ? m : n;
 	for(i = max;i <= m*n;i++)
 	{
 		if(i % m == 0 && i % n == 0)
 		{
 			printf("最小公倍数为:%d\n",i);
 			break;
		 }
	 }
	  
 	return 0;
 }

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值