展开全部
不多说,直接上代码。
import java.util.Scanner;
public class demo03 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt(); //接收两个整数
int b = in.nextInt();
int i = 0;
//计算出公倍数
while(true){
i++;
if(i%a==0 && i%b==0 && i>=a && i>=b){
System.out.println("最小公倍数为:"+i);
i=0; //重置i为0
break;
}
}
//计算公约数
int yue = 0;
while(true){
i++;
if(a%i==0 && b%i==0){
yue = i;
}
if(i>a || i>b)break;
}
System.out.println("最大公约数为:"+yue);
}
}
展开全部
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个大于零的整数");
int num1=input.nextInt();
System.out.println("请输入一个大于零的整数");
int num2=input.nextInt();
int max=1;
int smallnum=num1<num2?num1:num2;//找到两个数中较小的那个数,作为循环上限
for(int i=1;i<=smallnum;i++){
if(num1%i==0&&num2%i==0) max=i;
}
System.out.println("这两个数的最大公约数为:"+max);
}
Scanner input=new Scanner(System.in);
System.out.println("请输入一个大于零的整数");
int num1=input.nextInt();
System.out.println("请输入一个大于零的整数");
int num2=input.nextInt();
int max=1;
int smallnum=num1<num2?num1:num2;//找到两个数中较小的那个数,作为循环上限
for(int i=1;i<=smallnum;i++){
if(num1%i==0&&num2%i==0) max=i;
}
System.out.println("这两个数的最大公约数为:"+max);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static int getBiggestCommon(int a,int b){//最大公因数
if(a>b){
a=a^b;
b=a^b;
a=a^b;
}
return b%a==0?a:getBiggestCommon(a,b%a);
}
最小公倍数就是两数相乘再除以最大公因数。
if(a>b){
a=a^b;
b=a^b;
a=a^b;
}
return b%a==0?a:getBiggestCommon(a,b%a);
}
最小公倍数就是两数相乘再除以最大公因数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-02
展开全部
Rainbow同学,不能这样教坏新学算法的同学啊。公约数要用辗转相除法做,这种穷举的方式面试不给分。具体请看百度百科。
http://baike.baidu.com/view/255668.htm
其中已经有伪码实现
http://baike.baidu.com/view/255668.htm
其中已经有伪码实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询