题目描述
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入
两个整数
输出
最大公约数,最小公倍数
样例输入
5 7
样例输出
1 35
来源/分类
C语言
示例照片:
设计思路:
本题最难的就是,寻找的算法~(简单的也叫做算法)最大公约数:1,首先最大最大,就只是二者中的最小的一位数啦呗!所以我们整个先决条件:if(a>=t)i=t;elsei=a;令i等于其中最小的一个!进行下面来筛选:do{if(a%i==0&&t%i==0){max=i;break;}i--;}while(i>0);二者中最小的数,每一次循环就减去一。为零的时候,循环结束!碰到二者都可以取%运算为零的时候!赶紧break。要不只会是结果为1!这样就可以取得最大公约数啦!最小公倍数:先决条件:i=1;不断增加,极端情况会出现最小公倍数是二者的乘积!所以以这个界限为限定条件!道理都是取%运算!do{if(i%a==0&&i%t==0){min=i;break;}i++;}while(i<=a*t);这样就可以获得最小公倍数啦!
整体代码:
#include<iostream>using namespace std;int main(){int a,t,min,max;int i;cin>>a>>t;if(a>=t)i=t;elsei=a;do{if(a%i==0&&t%i==0){max=i;break;}i--;}while(i>0);i=1;do{if(i%a==0&&i%t==0){min=i;break;}i++;}while(i<=a*t);cout<<max<<" "<<min;}
图片:
OJ执行结果:
ACMNO.7 输入两个正整数m和n 求其最大公约数和最小公倍数。 输入 两个整数 输出 最大公约数 最小公倍数 样例输入 5 7 样例输出 1 35
如果觉得《ACMNO.7 输入两个正整数m和n 求其最大公约数和最小公倍数。 输入 两个整数》对你有帮助,请点赞、收藏,并留下你的观点哦!