黑马程序员技术交流社区
标题:
求最大公约数和最小公倍数
[打印本页]
作者:
hsx500
时间:
2015-5-8 11:01
标题:
求最大公约数和最小公倍数
题目:输入两个正整数
m
和
n
,求其最大公约数和最小公倍数。
请批评,指正,改进!
思路:
和求质因数的思路很相似,求出共同的质因数后,相乘,得最大公约数,m*n = 最大公约数*最小公倍数,最小公倍数可以求得
步骤:
1.定义,m,n,除数k,储存累乘的积s
2.构建while循环,终止条件是m或n小于除数
3.构建两个if判断,用取模运算求得因数
int m,n,s;
s = 1;
int k = 2;
while( m> = k && n>=k)
{
if(m%k==0 && n%k==0)
s = k*s;
if(m%k!=0 || m%k !=0)
k++;
}
s.o.p(最大公约数 s,最小公倍数 m*n/s);
作者:
Huylens
时间:
2015-5-8 11:36
我的思路刚好是跟你反过来的。思路是:假设有两个整数m和n,然后,找出两个数中的最小数,这里我假设是最小数是n,然后用n作为因数的起点i,用m和n分别去除,如果能够整除,那么最大的公约数马上就出来,如果不能相除,然后i--,再来整除,用递归可以找出最大公约数。
作者:
roblonely
时间:
2015-5-8 11:38
就是一个数学问题,根据公式套用就行
作者:
黄文昭
时间:
2015-5-8 21:34
你这至少把代码补全吧! 输出都是简写的,还没有定义输出的方法,这个能打印出来么?
作者:
hsx500
时间:
2015-5-10 12:32
黄文昭 发表于 2015-5-8 21:34
你这至少把代码补全吧! 输出都是简写的,还没有定义输出的方法,这个能打印出来么? ...
好懒不想全部写出来 T T
是不是不适合当程序员。。。
作者:
lingdu
时间:
2015-5-10 12:40
学习了,多练习总是好的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2