C++ 实现最小公倍数
最小公倍数=两数乘积/最大公约数
求最小公约数可以使用欧得几里算法(也就是传说中的辗转相除法)
int gcd(int a,int b)
{if(b==0)return a;return gcd(b,a%b);
}
也可以使用(这两个方法的原理都是一样的)
int gcd(int x,int y){while(x!=y){if(x>y) x=x-y;elsey=y-x;}return x;//辗转相除法}
有时候两数乘积会超过整数的范围,由此我们可以调整一下顺序:a/gcd(a,b)*b
先除一下,这样就可以避免在一定程度上避免溢出
#include<iostream>
#include<vector>
#include<set>
#include<cmath>
using namespace std;
int gcd(int,int);int main(int argc,char *argv[]){int x,y;while(cin>>x>>y){cout<<x/gcd(x,y)*y<<endl;}return 0;}int gcd(int x,int y){while(x!=y){if(x>y) x=x-y;elsey=y-x;}return x;//辗转相除法}
C++ 实现最小公倍数相关推荐
- python最大公约数和最小公倍数的求法_最大公约数和最小公倍数的求法分析
简介 求最大公约数和最小公倍数可能是编程中最常见的几个基本问题了.因为他们的基本概念基本上很早的时候就知道了,对他们的求法和他们之间的关系都比较有意思. 基本的数学性质 先从最大公约数这一部分开始吧. ...
- hdu-1108 最小公倍数
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1108 题目类型: 数论 题意概括: 求两个数的最小公倍数 解题思路: 模拟 题目: 最小公倍数 Ti ...
- python函数编程求三个数的最小公倍数_Python求三个数的最小公倍数
题目 求三个数的最小公倍数 思路 首先求两个数的最小公倍数,再求这个最小公倍数与第三个数的最小公倍数就是最终结果 有两种方案求两个数的最小公倍数 1. 分解质因数,也是短除法(在程序上差别不大) 循环 ...
- java编写最大公约数_Java编写最大公约数和最小公倍数
package javaapplication24; class NegativeIntegerException extends Exception{ String message; public ...
- 【蓝桥java】进制与整除之最大公约数 最小公倍数
补充: (1)欧几里得定理(辗转相除法):A和B的最大公约数 = B和A%B 的最大公约数 (2)将两个数乘起来再除以最大公约数就是最小公倍数 package cn.zzunit.jnvi;/***寻 ...
- Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数
ylbtech-Arithmetic:Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数 1.A,Demo(案例) 输入两个正整数m和n,求其最大公约数和最小 ...
- 最大公约数和最小公倍数的欧几里得算法
最大公约数的算法竟然如此简单,不说了,见代码 #include <stdio.h> int gcd(int a, int b) { if(b== 0) return a; return g ...
- 【算法总结】数学问题-最大公约数和最小公倍数
[算法总结]最大公约数和最小公倍数 一.最大公约数(GCD:greatest common divisor) 欧几里得算法: 若 a.b 全为零则它们的最大公约数不存在:若 a.b 其中之一为零,则它 ...
- ACMNO.22 C语言-公约公倍2 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 输入 两个数 输出 最大公约数 最小公倍数
题目描述 写两个函数,分别求两个整数的最大公约数和最小公倍数, 用主函数调用这两个函数,并输出结果两个整数由键盘输入. 输入 两个数 输出 最大公约数 最小公倍数 样例输入 6 15 样例输出 3 3 ...
- ACMNO.7 输入两个正整数m和n,求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35
题目描述 输入两个正整数m和n,求其最大公约数和最小公倍数. 输入 两个整数 输出 最大公约数,最小公倍数 样例输入 5 7 样例输出 1 35 来源/分类 C语言 示例照片: 设计思路: 本题最难的 ...
最新文章
- 一小时讲懂图神经网络在分子上的应用
- jQuery框架的简单使用(H5)
- 一秒钟就破解!2020年最烂密码出炉,看看你的上榜没?
- 英国法院裁定GCHQ黑客发动网络攻击并不侵犯人权
- MySQL对于有大量重复数据表的处理方法
- 转发文章最多的朋友可以免费进入价值99元的《湾区AI精英会》海归圈子
- 极客c语言课程设计,c语言课程设计之实习报告共5天完整.doc
- sql升序,降序的问题
- Linux 命令(0)—— man 命令
- 配置zigbee模块
- 阿里、百度、腾讯招聘 Java 程序员的技术标准,你达到要求了吗?
- LeetCode - Trangle
- 基于java的网上银行业务
- CSS3的动画与变形
- 《数学之美》第六章——信息的度量和作用
- 将图片压缩至指定大小Kb(Thumbnailator)
- pytorch_BCELoss的reduction参数理解
- 线程同步(临界区、互斥量、事件、信号量)
- A_A02_004 J-LINK驱动安装
- Internet时间同步出错解决方法
热门文章
- 在重大灾难面前,你有抵御风险的能力吗 ? 关于借钱这件事
- Word图片环绕方式图解
- linux中的until命令
- 【C++入门】一篇搞懂auto关键字
- An unexpected error has occurred. Conda has prepared the above report.
- 创建和编辑AutoCAD对象(VBApython)
- 2020年最流行的插画风格, 不得不看
- 苹果8p电池多少毫安的_18650锂电池容量最大多少毫安
- 所有版本chrome、chromedriver、firefox下载链接
- Docker学习篇——使用Docker部署账单微服务项目