C++ 实现求最大公约数和最小公倍数
作者:lqh 发布时间:2023-10-30 10:49:23
标签:最大公约数,最小公倍数
C++ 实现求最大公约数和最小公倍数
最大公约数
辗转相除法:
int maxDivisor(int a, int b)
{
int c = b;
while (a%b != 0)
{
c = a%b;
a = b;
b = c;
}
return c;
}
辗转相减法:
int maxDivisor(int a, int b)
{
while (a != b)
{
if (a>b) a = a - b;
else b = b - a;
}
return a;
}
输入两个正整数m和n,求其最大公约数和最小公倍数
#include<iostream>
using namespace std;
int main()
{
int m,n,t;
cout<<"请输入两个正整数:"<<endl;
cin>>m>>n;
int x=m;//将最初的m和n的值分别用x和y保存起来,后面计算最小公倍数时需要用到
int y=n;
if(m<n){
t=m;//t为中间变量,来实现m与n的值的相互交换,保证被除数大于除数
m=n;
n=t;
}
int r=m%n;
while(r){//用n来除以m,直到m被n整除,循环终止,此时r的值为0,在c++中只有0才为假,任何非0的值都判断为真
m=n;//辗转相除法的核心就是用较大的数m去除较小的数n,如果刚好能整除,则m与n的最大公约数为n,如果不能整除,则将n的值赋给m,余数r赋给n,再进行下一次的相除,以此循环,直到整除为止
n=r;
r=m%n;
}
cout<<"最大公约数为:"<<n<<endl;
cout<<"最小公倍数为:"<<x*y/n<<endl;//两个数的最小公倍数等于两个数的乘积除最小除他们的最大公约数
return 0;
}
或
#include<iostream>
using namespace std;
int gys(int x,int y)
{
return y? gys(y,x%y):x;
}
int main()
{
int x,y;
cin>>x>>y;
cout<<"最大公约数是:";
cout<<gys(x,y)<<endl;
cout<<"最小公倍数是:";
cout<<(x*y)/gys(x,y);
return 0;
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/xiong452980729/article/details/70237435


猜你喜欢
- 1概述众所周知,Java支持平台无关性、安全性和网络移动性。而Java平台由Java虚拟机和Java核心类所构成,它为纯Java程序提供了统
- Http请求类package wzh.Http;import java.io.BufferedReader;import java.io.I
- Android的遮罩效果就是把一张图片盖在另一张图片的上面,通过控制任意一张图片的显示百分比实现遮罩效果。下面我使用两张一样的图片来实现一个
- 前面关于spring Boot的文章已经介绍了很多了,但是一直都没有涉及到数据库的操作问题,数据库操作当然也是我们在开发中无法回避的问题,那
- 实际项目中pom.xml依赖写法: <dependency> <groupId>org.springf
- /// <summary> /// 汉字转拼音缩写 /// </summary> /// <param nam
- 文件上传也是常见的功能,趁着周末,用Spring boot来实现一遍。前端部分前端使用jQuery,这部分并不复杂,jQuery可以读取表单
- 本文实例为大家分享了C#实现语音播报功能的具体代码,供大家参考,具体内容如下环境:window10vs2019 16.5.5.netfram
- 前言日常的Android开发中,我们会用到IntentFilter的匹配规则。IntentFilter的主要规则分为action、categ
- SpringMvc中普通类注入Service为null场景:使用Quartz定时器时,普通的java类需要注入spring的service类
- 一:对象,JavaBean,SpringBean的区别1.什么是JavaBeanjavaBean要求所有属性为私有,该类必须有一个公共无参构
- 目录前言一、Spring Boot对Redis的支持二、实战1、添加依赖2、redis配置3、实现序列化4、创建Redis连接工厂,同时注册
- 新建Rest服务接口:[ServiceContract]public interface IService1{ &nb
- 前言2017 Google IO 大会,宣布将支持Kotlin作为开发语言。自此Kotlin成为了Android开发中的又一官方支持语言,当
- 本文实例为大家分享了RecyclerView实现侧滑拖拽功能的具体代码,供大家参考,具体内容如下准备ItemDragListenerpack
- 1.概述最近一直都在带实习生做项目,发现自己好久没有写博客了,这几天更新会比较频繁,今天玩QQ的时候发现QQ主页菜单滑动效果早就变了,实在忍
- Android 开发中Volley详解及实例最近在做项目的时候,各种get和post。简直要疯了,我这种啥都不了解的,不知道咋办了,然后百度
- 一、循环结构循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适
- 前言毕业季来临,很多小伙伴在忙于考公或者准备研究生复试等工作,因此从网上下载或者购买了源码。源码在本地运行成功之后,想要稍微修改一下,结果发
- 一、Shiro简介:Apache Shiro是一个Java的安全(权限)框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在J