导航:首页 > 编程语言 > java公因数

java公因数

发布时间:2023-09-07 08:42:25

A. java最大公约数算法

三种算法:
//欧几里得算法(辗转相除):
public static int gcd(int m,int n) {
if(m<n) {
int k=m;
m=n;
n=k;
}
//if(m%n!=0) {
// m=m%n;
// return gcd(m,n);
//}
//return n;
return m%n == 0?n:gcd(n,m%n);
}

//连续整数检测算法:
public static int gcd1(int m,int n) {
int t;
if(m<n) {
t=m;
}else {
t=n;
}
while(m%t!=0||n%t!=0){
t--;
}
return t;
}

//公因数法:(更相减损)
public static int gcd2(int m,int n) {
int i=0,t,x;
while(m%2==0&n%2==0) {
m/=2;
n/=2;
i++;
}
if(m<n){
t=m;
m=n;
n=t;
}
while(n!=(m-n)) {
x=m-n;
m=(n>x)?n:x;
n=(n<x)?n:x;
}
if(i==0)
return n;
else
return (int)Math.pow(2, i)*n;
}
public static void main(String[] args) {
System.out.println("请输入两个正整数:");
Scanner scan = new Scanner(System.in);
Scanner scan2=new Scanner(System.in);
int m=scan.nextInt();
int n=scan2.nextInt();
System.out.println("欧几里得算法求最大公约数是:"+gcd(m,n));
System.out.println("连续整数检测算法求最大公约数是:"+gcd1(m,n));
System.out.println("公因数法求最大公约数是:"+gcd2(m,n));
}
}

B. 编写java Application输入两个数并找出两个数的最大公因数

import java.util.Scanner;

public class Du2 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("请输入第一个数字 ");
int num1 = scanner.nextInt();

System.out.print("请输入第2个数字 ");
int num2 = scanner.nextInt();

int temp = num1;

num1 = num1 < num2? num1: num2;
num2 = temp > num2? temp: num2;

for(int num = num1; num >= 1; num--){
if(num1 % num == 0 && num2 % num == 0){
System.out.println("最大公约数为 : " + num);
break;
}
}

}

}

C. 如何用JAVA求两个整数的最大公因数

public class Test {
public static void main(String[] args){
Test t = new Test();
int x = 240;
int y = 880;
System.out.println(t.gcd(x,y));
}
private int gcd(int x,int y){
int re = 0;
while(x!=y){
if(x>y){
x=x-y;
re =x;
gcd(x,y);
}
else{
y=y-x;
re = y;
gcd(x,y);
}
}
return re;
}
}
运行结果:
80

D. Java编程题:计算数字12和18的最小公倍数。求答案。

下面给出了一个计算两个整数的最大公约数和最小公倍数的通用的方法:
首先先计算最大的公约数,最小公倍数=两个数的乘积再除以它们的最大公约数。

public class Test2 {
public static void main(String[] args) {
System.out.println(lcm(12, 18));
}

/**
* 计算整数a和b的最大公约数
*/
public static int gcd(int a, int b) {
while(b!=0) {
int tmp = b;
b = a%b;
a = tmp;
}
return a;
}
/**
* 计算整数a和b的最小公倍数
*/
public static int lcm(int a, int b) {
int t = gcd(a,b);
if(t==0) return 0;
else
return a * b / t;
}
}

E. java 最大公因数,最小公倍数,因式分解如何写这些方法

package neusoft.com.test;

public class Test2 {
public static void main(String args[]){
int x = 18,y = 39;
int result1 = getMax(x,y);
System.out.println(result1);
int result2 = getMin(x,y);
System.out.println(result2);
}
//最大公约数
public static int getMax(int x,int y){
int tmp = 0;
if(x > y){
tmp = y;
}else{
tmp = x;
}
for(int i = tmp; i >= 1; i--){
if(x % i == 0 && y % i == 0){
return i;
}
}

return -1;
}
//最小公倍数
public static int getMin(int x,int y){
int tmp = 0;
if(x < y){
tmp = y;
}else{
tmp = x;
}
for(int i = tmp; i > 0; i++){
if(i % x == 0 && i % y == 0){
return i;
}
}

return -1;
}
}

阅读全文

与java公因数相关的资料

热点内容
奔腾t55压缩比 浏览:620
python不弹出cmd窗口 浏览:921
cad解压不到e盘 浏览:709
phpfopen用法 浏览:805
cuda文件和cpp混合编译 浏览:191
鸿蒙自带主题在哪个文件夹 浏览:941
c写一个简单的中文编译器 浏览:413
反编译图片怎么弄 浏览:100
水空调需要压缩机吗 浏览:824
h3cdns配置命令 浏览:735
曹操传找不到视频解压文件 浏览:939
zblogphp插件 浏览:649
好兴动app怎么掌上取现 浏览:133
python折旧率 浏览:539
涟源云服务器 浏览:992
linux中代表什么 浏览:33
androidphone模块 浏览:35
linux中断表 浏览:177
文本写的java如何编译运行 浏览:524
单片机pwm控制舵机 浏览:318