1.描述
1-2.概念
1、倍数与约数:如果 a 能被 b 整除,a 就叫做 b 的倍数,b 就叫做 a 的约数。
约数和倍数都表示一个整数与另一个整数的关系,不能单独存在。
2、最大公约数:几个整数中公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。举例:12、16 的公约数有 1、2、4,
其中最大的一个是 4,所以 4 是 12 与 16 的最大公约数。
3、最小公倍数:几个自然数公有的倍数,叫做这几个数的公倍数,其中最小的一个,叫做这几个数的最小公倍数。举例:4的倍数有4、8、12、16,……,
6 的倍数有 6、12、18、24,……,4 和 6 的公倍数有 12、24,……,其中最小的是 12,所以 4 和 6 最小公倍数为 12。
1-3.控制
分别输入两个正整数(1<正整数<201),输出这两个正整数的最大公约数 M及最小公倍数 N(注:M 和 N 输出到一行,之间以一个英文逗号隔开)。
输入描述:
第一行输入第一个正整数;第二行输入第二个正整数。
输出描述:输出这两个正整数的最大公约数 M 及最小公倍数 N(M 和 N 输出
到一行,之间以一个英文逗号隔开)。
输入描述
第一行输入第一个正整数;第二行输入第二个正整数。
输出描述
输出这两个正整数的最大公约数 M 及最小公倍数 N(M 和 N 输出
到一行,之间以一个英文逗号隔开)。
用例输入 1
4
6
用例输出 1
2,12
咋办?凉拌炒鸡蛋,好吃又好看(数学不好的多去补补)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,max,min,c;
cin>>a>>b;
if(a>b) min=b,max=a;//保证MAX和MIN永远都是最大和最小
else min=a,max=b;
for(int i=min;i>=1;i--)//判断公约数
{
if(a%i==0&&b%i==0)
{
cout<<i<<',';
break;
}
}
for(int j=1;;j++)//判断公倍数
{
c=max*j;
if(c%a==0&&c%b==0)
{
cout<<c;
break;
}
}
return 0;
}
公约数部分通过遍历来找到可以同时整除A,B的数字
公倍数也是遍历来找到第一个符合条件的数字
如果有更简便的方法,欢迎评论区留言,谢谢