java求最大公约数(java求最大公约数递归算法)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享java求最大公约数的知识,其中也会对java求最大公约数递归算法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、Java求最大公约数
- 2、java最大公约数算法
- 3、java求最大公约数
Java求最大公约数
public class Gcd {
public static void main(String[] args) {
for(int i=0;i10;i++) {
int a=(int)(Math.random()*99+1);
int b=(int)(Math.random()*99+1);
System.out.println(a+","+b+"\t=\t"+getNumber(a,b));
}
}
public static int getNumber(int m,int n){
if (m % n == 0) {
return n;
}
else {
return getNumber(n,m % n);
}
}
}

java最大公约数算法
三种算法:
//欧几里得算法(辗转相除):
public static int gcd(int m,int n) {
if(mn) {
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(mn) {
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==0n%2==0) {
m/=2;
n/=2;
i++;
}
if(mn){
t=m;
m=n;
n=t;
}
while(n!=(m-n)) {
x=m-n;
m=(nx)?n:x;
n=(nx)?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));
}
}
java求最大公约数
最大公约数求的没问题。
求最小公倍数的时候,return (a*b)/m;这句代码中的a和b的值已经在父类代码中被
do {
temp_number = a%b;
a=b;
b=temp_number;
}
修改了,所以最终a*b就是0了。
改正:
class Son extends Father{
int m;
int x;
int y;
Son(int a,int b)
{
x=a;
y=b;
super(a,b);
}
public int f(){
m=super.f();
return (x*y)/m;
}
}
这样应该就行了
java求最大公约数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java求最大公约数递归算法、java求最大公约数的信息别忘了在本站进行查找喔。
