首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

标题3:用编程的方式实现2个数的最小公倍数

2013-10-27 
题目3:用编程的方式实现2个数的最小公倍数今天老师布置了一个思考题,求帮忙啊!!![解决办法]参考:http://bl

题目3:用编程的方式实现2个数的最小公倍数
今天老师布置了一个思考题,求帮忙啊!!!
[解决办法]
参考:http://blog.csdn.net/withiter/article/details/8577788


/*
 * Created on 2013-2-9
 *
 * LowerCommonMultiple.java
 *
 * Copyright (C) 2013 by Withiter Software & Technology Services (Shanghai) Limited.
 * All rights reserved. Withiter Software & Technology Services (Shanghai) Limited 
 * claims copyright in this computer program as an unpublished work. Claim of copyright 
 * does not imply waiver of other rights.
 *
 * NOTICE OF PROPRIETARY RIGHTS
 *
 * This program is a confidential trade secret and the property of 
 * Withiter Software & Technology Services (Shanghai) Limited. Use, examination, 
 * reproduction, disassembly, decompiling, transfer and/or disclosure to others of 
 * all or any part of this software program are strictly prohibited except by express 
 * written agreement with Withiter Software & Technology Services (Shanghai) Limited.
 */
/*
 * ---------------------------------------------------------------------------------
 * Modification History
 * Date               Author                     Version     Description
 * 2013-2-9       cross                    1.0         New
 * ---------------------------------------------------------------------------------
 */
/**
 * 
 */
package com.withiter.util;

/**
 * @author cross
 * 
 */
public class LowerCommonMultiple {

/**
 * @param args
 */

private int A, B;

public int get(int a, int b) {
for (int i = Math.max(a, b);; i++) {
A = a;
B = b;
if (accept(i)) {
return i;
}
}
}

private boolean accept(int n) {
return n % A == 0 && n % B == 0;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
LowerCommonMultiple lcm = new LowerCommonMultiple();
int test = lcm.get(4, 6);
System.out.println(test);
}

}


[解决办法]
public static void main(String[] args) {

int x = 3;
int y = 7;
int max = Math.max(x, y);
while (true) {
int num = max++;
if (num % x == 0 && num % y == 0) {
System.out.println(num);
return;
}
}

}

[解决办法]
引用:
Quote: 引用:

参考:http://blog.csdn.net/withiter/article/details/8577788


/*
 * Created on 2013-2-9
 *
 * LowerCommonMultiple.java
 *
 * Copyright (C) 2013 by Withiter Software & Technology Services (Shanghai) Limited.
 * All rights reserved. Withiter Software & Technology Services (Shanghai) Limited 
 * claims copyright in this computer program as an unpublished work. Claim of copyright 
 * does not imply waiver of other rights.
 *
 * NOTICE OF PROPRIETARY RIGHTS
 *
 * This program is a confidential trade secret and the property of 
 * Withiter Software & Technology Services (Shanghai) Limited. Use, examination, 
 * reproduction, disassembly, decompiling, transfer and/or disclosure to others of 


 * all or any part of this software program are strictly prohibited except by express 
 * written agreement with Withiter Software & Technology Services (Shanghai) Limited.
 */
/*
 * ---------------------------------------------------------------------------------
 * Modification History
 * Date               Author                     Version     Description
 * 2013-2-9       cross                    1.0         New
 * ---------------------------------------------------------------------------------
 */
/**
 * 
 */
package com.withiter.util;

/**
 * @author cross
 * 
 */
public class LowerCommonMultiple {

/**
 * @param args
 */

private int A, B;

public int get(int a, int b) {
for (int i = Math.max(a, b);; i++) {
A = a;
B = b;
if (accept(i)) {
return i;
}
}
}

private boolean accept(int n) {
return n % A == 0 && n % B == 0;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
LowerCommonMultiple lcm = new LowerCommonMultiple();
int test = lcm.get(4, 6);
System.out.println(test);
}

}



能否解释一下??


accept函数是判断公倍数的,即这个数整除A和B是否都等于0。
get就是循环取ab的最大值去调用accept

热点排行