关于java40014的信息
本篇文章给大家谈谈java40014,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA编程 输入两个正整数m和n,输出它们的最小公倍数和最大公约数
- 2、输入两个数字 计算这两个数字的最大公约数和最小公倍数。要求用 java 基础知识编写
- 3、java求最小公倍数和最大公约数
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的信息别忘了在本站进行查找喔。