C++--最大公约数和最小公倍数
通常用c++求a,b数的最小公倍数,需要先求出最大公约数,再用a*b=最大公约数*最小公倍数,最终才能算出最小公倍数
我介绍一种直接求最小公倍数的办法,放在最后了
一,最大公约数
定义:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。(不重要)
两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数(核心思想)
int Gongbeishu(int a, int b)
{int r;while (b > 0){r = a % b;a = b;b = r;}return a;
}
两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数
例1:a=8,b=6
8%6=2(%是取模,可理解成除法取余)
6%2=0(一直循环操作做,直到取得0,此时停止循环,2就是最大公倍数)
例2:a=5,b=3
5%3=2
3%2=1
2%1=0(1是最小公倍数)
解释:b对a取模,用得到的数再对b取模,只要得到的数不等于零,就一直重复,直到取模等于零,标红的数就是最大公约数
二,最小公倍数
定义:几个数共有的倍数叫做这几个数的公倍数,其中除0以外最小的一个公倍数,叫做这几个数的最小公倍数。
1.先介绍一个承接上文的方法
a*b=最大公约数*最小公倍数
算出了最大公约数,用a,b的乘积除以最大公约数,结果就是最小公倍数
2.介绍一种直接求出最小公倍数的方法(自己想的)
int gongbeishu(int a,int b)
{int n = 1;int temp = a * n;while ((temp % b) != 0){n++;temp = a * n;}return temp;
}
要求a,b最小公倍数,我让a*1,看b能不能整除a*1,以此类推。
满足条件 ((a*n)%b)=0(n从1开始,每次循环加1,这样就可以找到最小公倍数了)
理解了就去实践,没理解的再理解理解,有问题问我哈
C++--最大公约数和最小公倍数相关推荐
- python最大公约数和最小公倍数的求法_最大公约数和最小公倍数的求法分析
简介 求最大公约数和最小公倍数可能是编程中最常见的几个基本问题了.因为他们的基本概念基本上很早的时候就知道了,对他们的求法和他们之间的关系都比较有意思. 基本的数学性质 先从最大公约数这一部分开始吧. ...
- Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数
ylbtech-Arithmetic:Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数 1.A,Demo(案例) 输入两个正整数m和n,求其最大公约数和最小 ...
- 【算法总结】数学问题-最大公约数和最小公倍数
[算法总结]最大公约数和最小公倍数 一.最大公约数(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语言 示例照片: 设计思路: 本题最难的 ...
- C语言易错题--求最大公约数与最小公倍数之和(辗转相除法)
题目来源:牛客网编程入门训练--BC115 小乐乐与欧几里得 输入描述: 每组输入包含两个正整数n和m.(1 ≤ n ≤ 109,1 ≤ m ≤ 109) 输出描述: 对于每组输入,输出一个正整数, ...
- 【题解】P1029 最大公约数和最小公倍数问题
目录 P1029 最大公约数和最小公倍数问题 方法一 方法二 P1029 最大公约数和最小公倍数问题 方法一 要知道最大公约数和最小公倍数的乘积就是原两个数的积. 换成公式就是: x∗y=gcd(x, ...
- 使用函数求两个整数的最大公约数和最小公倍数
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p240 习题7 3.编写两个函数,分别求两个整数的最大公约数和最小公倍数 #include<st ...
- c语言:输入两个正整数m和n,求其最大公约数和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍数. 解:程序: #include <stdio.h> int main() { int num1, num2, t,p; printf(&q ...
- 洛谷 P1029 最大公约数和最小公倍数问题
P1029 最大公约数和最小公倍数问题 题目描述 输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数 条件: 1 ...
最新文章
- 大雁塔为什么七层_“大唐不夜城”广场旁边的千年古佛塔为何被叫“大雁塔”?...
- 【机器学习入门到精通系列】SVM与核函数(附程序模拟!)
- 潭州Java中级班(day_04)
- android物联网开发技术架构,Android 相关七种 CPU 架构适配,android七种
- Activity两个启动方法的区别
- 7-20上午刷题未知点集合
- VTK修炼之道48:图形基本操作进阶_符号化操作与模型区率计算
- 软件测试的学习之路-----基本的 HTML
- Python稳基修炼之计算机等级考试易错细节题2(含答案和解析)
- webservices系列(三)——调用线上webservice(天气预报和号码查询)
- 原始数据格式无法识别_虹膜识别技术优势明显 为何难以开启“刷眼“时代
- Java多线程实现-线程池
- Java权限管理系统
- mysql数据库实验4
- getbook netty实战_《Netty实战》Netty In Action中文版 第1章 Netty——异步和事件驱动...
- 批量将PNG格式转化为JPG格式
- ChineseBERT Chinese Pretraining Enhanced by Glyph and Pinyin Information
- 已有的事,后必再有。已行的事,后必再行。
- 大数据面试题汇总(含数仓)
- [日常] [Python] 批量将某个文件夹下的.ppt/.pptx/.pptm转换为.pdf文件,并且将其移入/ppt文件夹中