求两数最大公约数和最小公倍数

方法一:单独求解最小公倍数

若大数m是小数n的倍数,则大数m为所求的最小公倍数;若不是,另寻找一个能同时被两个整数的自然数。找到第一个后,break终止循环。
终止条件:
1.可把判定条件表示成循环变量满足的基本条件,如本例终止条件表示成i>0.
2.终止条件省略不写,利用循环体中的语句结束循环,如在找到第一个满足条件的自然数利用break语句结束循环。

3.代码如下:

# include<stdio.h>
int main()
{while(1){int i,num1,num2,temp;printf("please input two num:");scanf("%d%d",&num1,&num2);if(num1<num2){temp=num1;num1=num2;num2=temp;}         //m是大数,n是小数for(i=num1;i>0;i--){ if(i%num1==0&&i%num2==0){printf("最小公倍数是%d\n",i);break;}                        //break终止循环,即找到第一个公共倍数即最小公倍数时停止}         }                                  //循环必须加在return之前,循环才能执行return 0;
}

4.运行结果

方法二 求解最大公因数和最小公倍数

1.题目:输入两个整数m和n,求其最大公约数和最小公倍数?
分析:利用辗转相除法,先求解最大公约数,最小公倍数=两数的乘积/最大公因数
2.辗转相除法
例如 113148 和70044
此时
最大公约数应为 5388
最小公倍数应为 113148*70044 / 5388 = 1,470,924

while(n!=0){temp=m%n;m=n;n=temp;                      //辗转相除法}

3.完整代码如下

# include<stdio.h>
int main()
{int m,n,num1,num2,temp;while(1){printf("please input two num:");scanf("%d%d",&num1,&num2);if(num1<num2){temp=num1;num1=num2;num2=temp;}         //m是大数,n是小数m=num1;n=num2;                            //区分两数和公因数while(n!=0){temp=m%n;m=n;n=temp;                      //辗转相除法}printf("最大公约数是:%d\n",m);printf("最小公倍数是%d\n",num1*num2/m);   //最小公倍数=两数乘积/最大公因数}                                         //一直循环return 0;
}

4, 执行结果

最后按例附上,本人小白一枚,若上述内容有所纰漏错误,欢迎批评指正。

求两数最大公约数和最小公倍数(详解)相关推荐

  1. 求两数最大公约数,最小公倍数-Java

    两数的最大公约数的计算是有数学规律的,程序只是按照规律辅助计算,其中包括了递归和循环两种实现.而最小公约数可由(m*n)/ (最大公约数)得到.具体代码如下: package test;import ...

  2. js求两数最大公约数和最小公倍数

    // 最大公约数 console.log(gongyueshu(6, 8));function gongyueshu(a, b) {var c = a > b ? b : a;for (var ...

  3. python两个自定义函数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...

    本文实例讲述了Python自定义函数实现求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 1. 求最小公倍数的算法: 最小公倍数  =  两个整数的乘积 /  最大公约数 所以我们首先 ...

  4. C语言实现辗转相除法和更相减损法求两数最大公约数,及求最小公倍数的方法

    在学习从C语言过程中,我们会遇到一个题目,求两个整数的最大公约数,那么接下来分别介绍两种方法求最大公约数 1,辗转相除法 辗转相除法, 又名欧几里德算法(Euclidean Algorithm),是求 ...

  5. C语言求两个数最大公约数和最小公倍数

    1.求两个数的最大公约数 1.1  普通实现方法 #include<stdio.h> int main() {int a = 0;int b = 0;scanf("%d %d&q ...

  6. C语言中求两数最大公约数的三种方法

    1.穷举法 思路: 首先对输入的两个数x,y判断两者的大小,取两者中较小的数放入i中.然后用x%i;y%i,如果两者都为0,则此时i为最大公约数.如果其中有一个不为0,则i减1后再用x,y分别模上i( ...

  7. 200 300的完数 c语言,C语言求完数(完全数)(详解版)

    问题描述 求某一范围内完数的个数. 如果一个数等于它的因子之和,则称该数为"完数"(或"完全数").例如,6的因子为1.2.3,而 6=1+2+3,因此6是&q ...

  8. 更相减损法 php,求两数最大公约数 - WAITING520的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.普通写法 /** * 普通写法 * @param numbera * @param numberb * @return */ public static int gcd(int numbera, ...

  9. java操练之求两数最大公约数的两种算法思路

    代码: 1 public class Hello { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 ...

最新文章

  1. mysql建立联合索引,mysql建立唯一键,mysql如何解决重复记录联合索引
  2. 哈尔滨商业大学计算机与信息工程学院地址,计算机与信息工程学院
  3. 阿里巴巴电商平台架构演变之路
  4. c语言第七周答案,2017-mooc-C语言-第七周-答案
  5. 【机器学习基础】Python数据预处理:彻底理解标准化和归一化
  6. [译]震惊!RxJava 5 个不为人知的小秘密
  7. kettle-多文件合并
  8. Jaas demo 登陆验证
  9. DataFormatString--格式化字符串
  10. requests+正则表达式爬取豆瓣读书top250
  11. 计算机加入域后的用户名和密码,Windows自动改计算机名和加入域工具
  12. java 支付宝帐单_支付宝单笔提现转账到个人用户,java代码实现
  13. 1.4.17 实验17:ASBR
  14. java 1st 2nd 3rd 4th_为啥第一是1ST,第二是2ND,第三是3RD,第四开始都是TH呢1ST、2ND、...-3rd-英语-耿佬杜同学...
  15. C# 文字识别(OCR)
  16. 如何安装tushare
  17. 学习ROS常用的官方网站,学习资源整理
  18. 打造Ai作图studio需要哪些工具
  19. gensim相关功能函数及其案例
  20. STC89C52的IIC总线写EEPROM

热门文章

  1. .bin二进制文件转换为.txt(.bin)文件
  2. 计算机开机后无法启动win7,win7电脑突然进不了系统如何恢复?老司机教你解决电脑开机进不了系统...
  3. OpenCV DNN模块黑白图片上色修复
  4. VIEWGOOD(远古)直播时移技术——让高清网络电视“随心看”
  5. android 4.0模拟器启动不了,Android 4.0 framework源码修改编译,模拟器运行不起来,求助...
  6. SecureCRT 5.2.2版本下载和注册码
  7. Scheme 语言开发工具DrRacket下载,安装
  8. html5 电影选座位效果,为你的网页做出电影的过场效果
  9. 国内8大热门android论坛
  10. 质量管理知识点大盘点(之一)