大兴高米店网站建设,巩义网站建设报价,品牌推广岗位,wordpress字数统计描述 输入N及N个正整数。N不大于1000。 输出这N个数的最大公约和最小公倍数 输入 输入N及N个正整数。N不大于1000。 输出 输出这N个数的最大公约和最小公倍数 样例输入
3
2 4 8
5
3 6 8 9 12样例输出
2 8
1 72
思路 gcd#xff08;greatest common divisor#xff09;计…描述 输入N及N个正整数。N不大于1000。 输出这N个数的最大公约和最小公倍数 输入 输入N及N个正整数。N不大于1000。 输出 输出这N个数的最大公约和最小公倍数 样例输入
3
2 4 8
5
3 6 8 9 12样例输出
2 8
1 72
思路 gcdgreatest common divisor计算最大公约数利用辗转相除法基本思想为通过不断取两个数的余数再用较小的数去除较大的数直到余数为0余数为0时较小的数就是最大公约数 lcmleast common multiple方法是使用最大公约数。根据数学原理两个数的最小公倍数等于两个数的乘积除以它们的最大公约数 code
#includeiostream
#includeiomanip
using namespace std;
int gcd(int a,int b){if(b0) return a;return gcd(b,a%b);
}
int lcm(int a,int b){return (a*b)/gcd(a,b);
}
int main()
{int n;while(cinn){int nums[n];for(int i0;in;i){cinnums[i];}int max_gcdnums[0],min_lcmnums[0];for(int i0;in;i){max_gcdgcd(max_gcd,nums[i]);min_lcmlcm(min_lcm,nums[i]);}coutmax_gcd min_lcmendl;}return 0;
}