求12和18的最小公倍数;求大神

chenhao110am 2013-07-01 10:28:43
package org.circle;

public class MinCommonMultiple
{ public static void main(String[] args)
{
int m =6,n=9;
int result=1;
for(int i=1;i<=m*n;i++)
{

if()
}

}
}代码写到if这就不知道怎么写了,麻烦帮我补充完整。3Q
...全文
865 21 打赏 收藏 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
wocui1 2013-09-13
  • 打赏
  • 举报
回复
寻找找心目中的英雄 拜师 学习望高手赐教 跪求大牛 跪求 黑客师傅 加我扣 282 064 098 定向攻击 xss攻击 arp攻击 qq攻击 cc攻击 syn攻击 DDoS攻击
xiars123 2013-07-03
  • 打赏
  • 举报
回复
引用 13 楼 AA5279AA 的回复:
[quote=引用 7 楼 xiars123 的回复:] [quote=引用 6 楼 AA5279AA 的回复:] 一般的方法是迭代相减求出最大公约数然后相乘较小的数。 你这样的话效率有可能太低
请问迭代相减如何求出最大公约数? 而且最小公倍数也不是最大公约数*较小的数吧: 比如4和10,最大公约数是2,最小公倍数也不是2*4啊。[/quote] 最小公倍数=a*b/(a,b两个数的最大公约数)[/quote] 这才是对的
zxj3039 2013-07-03
  • 打赏
  • 举报
回复
最好用最小公倍数=m*n/(m,n最大公约数)解答,简单,效率也高

public class MinTest {

public static void main(String[] args) {

int min_number = 0;
int num1 = 6;
int num2 = 9;
int min_num1 = 0;
int min_num2 = 0;
List<Integer> list = new ArrayList<Integer>();
for(int i=2;i<num1*num2;i++){
if(num1%i==0 && num2%i==0){
list.add(i);
}
}
min_number = (Integer)((num1*num2)/list.get(list.size()-1));
System.out.println("最小公倍数为:" + min_number);
}
}



thomasLand 2013-07-03
  • 打赏
  • 举报
回复
Euclid's Algorithm,建议楼主自己百度/谷歌。或者买本《计算机程序设计艺术--基本算法》。经常翻翻就行了。
keeya0416 2013-07-03
  • 打赏
  • 举报
回复
为了防止乘法溢出 最好把 最小公倍数=a*b/(a,b两个数的最大公约数) 改成 最小公倍数=a/(a,b两个数的最大公约数)*b
livend 2013-07-03
  • 打赏
  • 举报
回复
我感觉算法什么的,烦
kosora曹 2013-07-02
  • 打赏
  • 举报
回复
辗转相除,月经题:

	public static int zhanzhuan(int m,int n){
		return m%n==0?n:zhanzhuan(n, m%n);
	}
	public static void main(String[] args) {
		System.out.println(18*12/zhanzhuan(18, 12));
	}
陈凯 2013-07-02
  • 打赏
  • 举报
回复
package com.quartz.test; public class Test { /** * 计算最小公倍数 * @param args * */ public static void main(String[] args) { System.out.println(compute(3,5)); } public static int compute(int a ,int b){ int max; int max1 = 0; if(a<b){ max = b; }else{ max = a; } for(int i =1; i<=max ; i++){ if(a%i == 0 && b%i ==0){ max1 = i ; } } return max1*(a/max1)*(b/max1); } }
浴氷夫斯基 2013-07-02
  • 打赏
  • 举报
回复
引用 14 楼 CHANGXIAOTING 的回复:
[quote=引用 4 楼 u011258230 的回复:] 由于你写的main方法是VOID的。所以就不return了。 #2的逻辑是通的,可以这么写: if (i%m==0 && i%n == 0) { System.out.print("最小公倍数是"+i); System.exit(0); } ================================ 还有,你定义的这个result貌似没用到。 另外,i的初值可以直接赋n。因为最小公倍数必须是大于这两个数,这样省去多次不必要的循环。
这是比较简便的写法。 也可以用:最小公倍数=a*b/(a,b最大公约数) [/quote] 恩,看了,学习啦~
StevenLoveMaggie 2013-07-02
  • 打赏
  • 举报
回复
引用 4 楼 u011258230 的回复:
由于你写的main方法是VOID的。所以就不return了。 #2的逻辑是通的,可以这么写: if (i%m==0 && i%n == 0) { System.out.print("最小公倍数是"+i); System.exit(0); } ================================ 还有,你定义的这个result貌似没用到。 另外,i的初值可以直接赋n。因为最小公倍数必须是大于这两个数,这样省去多次不必要的循环。
这是比较简便的写法。 也可以用:最小公倍数=a*b/(a,b最大公约数)
失落夏天 2013-07-02
  • 打赏
  • 举报
回复
引用 7 楼 xiars123 的回复:
[quote=引用 6 楼 AA5279AA 的回复:] 一般的方法是迭代相减求出最大公约数然后相乘较小的数。 你这样的话效率有可能太低
请问迭代相减如何求出最大公约数? 而且最小公倍数也不是最大公约数*较小的数吧: 比如4和10,最大公约数是2,最小公倍数也不是2*4啊。[/quote] 最小公倍数=a*b/(a,b两个数的最大公约数)
attach_finance 2013-07-02
  • 打赏
  • 举报
回复
public static int test(int a,int b){
		if(a>0&&b>0){
			for(int i=1;i<=a*b;i++){
				if(i%a==0&&i%b==0){
					return i;
				}
			}
		}
		return 0;	
	}
调用的时候直接test(12,18),很简单的
denygod 2013-07-02
  • 打赏
  • 举报
回复
求12和18的最小公倍数 为什么int m =6,n=9; 逻辑有点乱
xiars123 2013-07-01
  • 打赏
  • 举报
回复
此处最优算法应该是: 1:用欧几里得算法(辗转相除)取得两数的最大公约数; 2:两数相乘,除以最大公约数,就是最小公倍数。
xiars123 2013-07-01
  • 打赏
  • 举报
回复
引用 6 楼 AA5279AA 的回复:
一般的方法是迭代相减求出最大公约数然后相乘较小的数。 你这样的话效率有可能太低
请问迭代相减如何求出最大公约数? 而且最小公倍数也不是最大公约数*较小的数吧: 比如4和10,最大公约数是2,最小公倍数也不是2*4啊。
失落夏天 2013-07-01
  • 打赏
  • 举报
回复
一般的方法是迭代相减求出最大公约数然后相乘较小的数。 你这样的话效率有可能太低
浴氷夫斯基 2013-07-01
  • 打赏
  • 举报
回复
额。。。= =、3楼已经有回复了。。。我打字有点慢哈~
浴氷夫斯基 2013-07-01
  • 打赏
  • 举报
回复
由于你写的main方法是VOID的。所以就不return了。 #2的逻辑是通的,可以这么写: if (i%m==0 && i%n == 0) { System.out.print("最小公倍数是"+i); System.exit(0); } ================================ 还有,你定义的这个result貌似没用到。 另外,i的初值可以直接赋n。因为最小公倍数必须是大于这两个数,这样省去多次不必要的循环。
xiars123 2013-07-01
  • 打赏
  • 举报
回复
引用 2 楼 chenhao110am 的回复:
void不能返回值的、
一楼if条件是正确的,已经拿到正确的i了,语句块里你想写什么都行, 你可以打印出来:System.out.println(i)
chenhao110am 2013-07-01
  • 打赏
  • 举报
回复
void不能返回值的、
加载更多回复(1)

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧