【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]

【C语言】输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)[通俗易懂]输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)一、最大公约数求法(1)辗转相除法(2)相减法二、求最小公倍数算法一、最大公约数求法(1)辗转相除法设有两整数a和b:①a%b得余数c②若c==0,则b即为两数的最大公约数③若c!=0,则a=b,b=c,再回去执行①。例如求27和15的最大公约数过程为:27÷15余1215÷12余312÷3余0因此,3即为最大公约数。(2)相减法设有两整数a和b:①若a>b,则a=a-b②.

大家好,又见面了,我是你们的朋友全栈君。

输入两个正整数m和n,求其最大公约数和最小公倍数。(要求用while语句实现)


一、最大公约数求法

(1)辗转相除法

设有两整数a和b:
① a%b得余数c
② 若c==0,则b即为两数的最大公约数
③ 若c!=0,则a=b,b=c,再回去执行①。

例如求27和15的最大公约数过程为:
27÷15 余12
15÷12 余3
12÷3 余0
因此,3即为最大公约数。

(2)相减法

设有两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a==b,则a(或b)即为两数的最大公约数
④ 若a!=b,则再回去执行①。

例如求27和15的最大公约数过程为:
27-15=12( 15>12 )
15-12=3( 12>3 )
12-3=9( 9>3 )
9-3=6( 6>3 )
6-3=3( 3==3 )
因此,3即为最大公约数。

二、求最小公倍数算法

最小公倍数=两整数的乘积÷最大公约数

代码如下:

#include <stdio.h>
int main()
{ 
   
    int m,n,max,min,b,c;
	printf("请输入两个整数:\n");
	scanf("%d%d",&m,&n);
    c=m%n;
    b=m*n;
	while(c!=0)
	{ 
   
        m=n;
		n=c;
        c=m%n;
	}
    max=n;
	min=b/max;
	printf("\n最大公约数为:%d\n最小公倍数为:%d\n",max,min);
    return 0;
}

输出结果:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145659.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring中的注解 @RequestBody和@ResponseBody的使用和区别

    Spring中的注解 @RequestBody和@ResponseBody的使用和区别一、@RequestBody@RequestBody的作用是将前端传来的json格式的数据转为自己定义好的javabean对象如图以微信小程序为例,前端向后端传入如下json格式的数据需要注意的是传入数据的属性名称要和后端javabean中定义的一致发送请求后可以看到在控制台中我们通过javabean对象的get方法打印出了前端传来的值,说明json数据已经成功的被转换为了javab…

    2022年5月28日
    108
  • 数据库概念设计与逻辑设计[通俗易懂]

    数据库概念设计与逻辑设计[通俗易懂]一、概念设计概念设计的目的就是为了建立概念数据模型,概念数据模型也称为高级数据模型,之所以称为高级数据模型是因为它更接近于人的思维,而不是机器的思维,相比于关系模型更容易理解,此处的高级和低级的概念,与程序语言领域的高低级是一样的。我们通常称Java语言为高级语言,汇编语言为低级语言,是因为高级语言对于我们而言要比汇编语言更容易理解。关于概念数据模型,我们一般都会采用E-R图进行描述。E-R图的规则如下:1.实体采用矩形框,联系采用菱形框,属性采用椭圆形框。2.实体、联系、属性必须使用文字描

    2022年10月9日
    3
  • Vs下 CCriticalSection::Lock 异常错误的发生「建议收藏」

    Vs下 CCriticalSection::Lock 异常错误的发生「建议收藏」自己在vs下写了一个用 CCriticalSection::Lock来锁定对象的程序,发现给Lock设置dword参数时总会出现异常,后来查看了一下函数的文档,才恍然大悟!!!CCriticalSection类包含成员函数锁定的线程可用于获得一个关键部分对象的所有权。有两个版本的锁定功能没有参数和其他采用DWORD参数之一。后一种版本的锁定文档状态dword值参数指定

    2022年7月20日
    15
  • jdk下载与安装[通俗易懂]

    1.JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html安装完成后,需要进行环境变量的配置,右键我的电脑—属性—-高级系统设置就会看到下面的界面:2.点击环境变量,开始坏境变量的配置:(1)点击系统变量下的新建按钮,变量名JAVA_HOME(代表你的JDK安装路径),值对应的是你的JDK的安装路径。(2)继续在系统变量里面新建一个CLASSPATH变量,其变量值如下图所示:….

    2022年4月3日
    44
  • 分析型数据库 AnalyticDB学习 —-基本介绍

    分析型数据库 AnalyticDB学习 —-基本介绍分析型数据库AnalyticDB学习—-基本介绍AnalyticDB简介阿里巴巴自主研发的海量数据实时并发在线分析的云计算服务,可以在毫秒级针对千亿级数据进行多维分析和业务探索.具备海量数据的自由计算和极速响应能力(数据很多,反应很快,计算很快,可以处理高并发这个意思)Analytic核心功能和特点*Analytic核心功能(1) 分档的储存(2) 自由的查询(3) …

    2025年12月13日
    3
  • Python正则表达式(一看就懂)

    Python正则表达式(一看就懂)哈喽O(∩_∩)O今天来发一下python正则表达式,其实这个也是比较简单的什么是正则表达式(⊙_⊙)目前越来越多的网站、编辑器、编程语言都已支持一种叫“正则表达式”的字符串查找“公式”,有过编程经验的同学都应该了解正则表达式(RegularExpression简写regex)是什么东西,它是一种字符串匹配的模式(pattern),更像是一种逻辑公式。简单说,正则表达式是python中必备的工具,主要是用来查找和匹配字符串的。正则表达式尤其在python爬虫上用的多。正则表达

    2022年7月26日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号