导航:首页 > 编程语言 > 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公因数相关的资料

热点内容
java的webxml配置 浏览:962
如何封包远程注入服务器 浏览:864
监测机构资金动向源码 浏览:967
android状态栏字体50 浏览:767
python如何判断文件后缀 浏览:126
龙空app哪里下 浏览:348
阿里云服务器搭建网盘 浏览:689
京东软件程序员 浏览:805
php游戏服务器框架 浏览:391
导航开发算法 浏览:430
为什么30岁还想转行程序员 浏览:380
推荐算法的使用 浏览:40
javaswing表格 浏览:470
sql和python处理excel 浏览:107
家用材料制作解压玩具 浏览:912
c盘解压失败可以用空间吗 浏览:466
3d循环音乐哪个app好 浏览:771
压缩文件zip怎么解压不了 浏览:393
如何看苹果appstore软件是否收费 浏览:464
android发送字符串 浏览:14