C语言程序设计:求n个数的最小公倍数.要求:必须使用数组做.输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.为每组测试数据输出它们的最小公倍数,每个测试实
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 07:24:29
C语言程序设计:求n个数的最小公倍数.要求:必须使用数组做.输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.为每组测试数据输出它们的最小公倍数,每个测试实
C语言程序设计:求n个数的最小公倍数.
要求:必须使用数组做.
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行.题目确保结果在32位整数范围内.
输入样例:2 4 6
输出样例:12
C语言程序设计:求n个数的最小公倍数.要求:必须使用数组做.输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数.为每组测试数据输出它们的最小公倍数,每个测试实
原理:求最小公倍数,则先求最大公约数,最后所有数之积再除最大公约数即为最小公倍数
求两个数最大公约数原理:利用辗转相除法.自己百度一下,有详细
int gcd(int a, int b)
{
if (a == 0)
return b;
if (b == 0)
return a;
if (a < b) //交换两个数,使大数放在m上
{
int tmp = a;
a = b;
b = tmp;
}
while (b != 0)
{
int tmp = a % b;
a = b;
b = tmp;
}
return a;
}
利用函数gcd()返回数存在c,最后最小公倍数就为m = a * b / c
三个或者以上求最小公倍数时,先求前两个数最大公约数,然后用最大公约数跟下一个数求最大公约数,如此类推,最后把所有数相乘再除以最后得出的最大公约数,即为最小公倍数
我只给出思路而已,由于我没做过,如果你想要完成程序,就联系我吧