关于java40014的信息

博主:adminadmin 2023-03-20 07:09:06 157

本篇文章给大家谈谈java40014,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA编程 输入两个正整数m和n,输出它们的最小公倍数和最大公约数

import java.util.*;

public class Test40014 {

public static void main(String []args){

Scanner in =new Scanner(System.in);

int gcd, lcm, m, n,r;

int repeat, ri;

repeat=in.nextInt();

for(ri = 1; ri = repeat; ri++){

m=in.nextInt();

n=in.nextInt();

if(m = 0 || n = 0)

System.out.println("m = 0 or n = 0");

else{

/*---------*/

int yu,tmp;

int ji = m*n;

if(mn)

{

tmp=m;

m=n;

n=tmp;

}

while((yu=m%n)!=0)

{

m=n;

n = yu;

}

gcd=n;

lcm=ji/n;

System.out.println("the least common multiple:"+lcm+", the greatest common divisor:"+gcd);

}

}

}

}

输入两个数字 计算这两个数字的最大公约数和最小公倍数。要求用 java 基础知识编写

import java.util.Scanner;

/**

 * 最大公约数,最小公倍数

 * 

 * @author young

 *

 */

public class GysGbs {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);// 接收控制台输入的信息

System.out.print("请输入第一个整数:");

int num1 = scan.nextInt(); // 取出控制台输入的信息

System.out.print("请输入第二个整数:");

int num2 = scan.nextInt(); // 取出控制台输入的信息

System.out.print("最大公约数:");

System.out.println(maxCommonDivisor(num1, num2));// 调用maxCommonDivisor()方法

System.out.print("最小公倍数:");

System.out.println(minCommonMultiple(num1, num2));// 调用minCommonMultiple()方法

}

// 递归法求最大公约数

public static int maxCommonDivisor(int m, int n) {

if (m  n) {// 保证mn,若mn,则进行数据交换

int temp = m;

m = n;

n = temp;

}

if (m % n == 0) {// 若余数为0,返回最大公约数

return n;

} else { // 否则,进行递归,把n赋给m,把余数赋给n

return maxCommonDivisor(n, m % n);

}

}

// 循环法求最大公约数

public static int maxCommonDivisor2(int m, int n) {

if (m  n) {// 保证mn,若mn,则进行数据交换

int temp = m;

m = n;

n = temp;

}

while (m % n != 0) {// 在余数不能为0时,进行循环

int temp = m % n;

m = n;

n = temp;

}

return n;// 返回最大公约数

}

// 求最小公倍数

public static int minCommonMultiple(int m, int n) {

return m * n / maxCommonDivisor(m, n);

}

}

java求最小公倍数和最大公约数

/**

* 最大公约数

* 更相减损法:也叫更相减损术

* ??? 第一步:任意给定两个正整数;判断它们是否都是偶数。若是,则用2约简;若不是则执行第二步。

* 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止。

* @param a

* @param b

* @return

*/

public static int gongyue( int a, int b){

if(a == b){

return a;

} else{

return gongyue(abs (a-b),min(a,b));

}

}

/**

* 最大公约数

* 辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法.

* 例如,求(319,377):

* ∵ 377÷319=1(余58)

* ∴(377,319)=(319,58);

* ∵ 319÷58=5(余29),

* ∵ 58÷29=2(余0),

* ∴ (58,29)= 29;

* ∴ (319,377)=29.

* @param a

* @param b

* @return

*/

public static int gongyue1( int a, int b){

if(b!=0){

return gongyue1(b,a%b);

} else{

return a;

}

}

/**

* 最小公倍数

* 两个数乘积除去最大公约数即可

* @param a

* @param b

* @return

*/

public static int gongbei( int a, int b){

return a*b/gongyue(a,b);

}

public static int abs(int i){

return i=0?i:-i;

}

public static int min(int a,int b){

return ab?a:b;

}

java40014的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java40014的信息别忘了在本站进行查找喔。