2 实验题二:复杂函数
求用户输入的2个数的最大公约数和最小公倍数。
解题思路:
首先用数学的方法来解决,要求2个数的最大公约数,首先应该把大数的因子一个个找出来,判断是不是小数的因子。因为是最大公约数,所以要从大数的最大因子开始判断。
要找一个数最大因子,可以从N1/2开始依次的减一,如果可以被N1整除,则是因子,再判断是否能被N2整除,如果也可以,那该数即是最大公约数。所以,我们可以采用类似以下的循环来完成:
for(int i=n1/2;i>=2;i--) //请判断i为什么要大于等于2
{
if(n1%i==0) //模一个数等于0,表示能够整除
{
//请在这里自己填入判断i是否是n2的因子的语句
}
}
对于公倍数,似乎更简单。
只要对大数n1进行乘一,乘二,乘三。。。。。。并将每次的结果模小数看结果是否为0即可
虽然有思路,但不是不太会,请高手指点,跪谢!!!!
个人简介: 菜虫,
[此贴子已经被作者于2005-5-27 15:30:25编辑过]