如何求两个数的最大公约数?求大神指导!!![em06]
如何求两个数的最大公约数?求大神指导!!!
程序代码:/*
* 从键盘上输入两个正整数,求他们的最大公约数
*/
import java.util.* ;
public class TJ05 {
public static void main(String args[]){
int m,n,a,b,i,c=1;
System.out.print("请输入两个正整数:") ;
Scanner scan = new Scanner(System.in) ;
m=scan.nextInt() ; //接收从键盘上输入的第一个数
n=scan.nextInt() ; //接收从键盘上输入的第二个数
a=m>n?n:m ; //取两数中的最小数
b=m>n?m:n ; //取两数中的最大数
for(i=1;i<a/2;i++){
if(b%a==0){
System.out.println(m+"和"+b+"最大公约数为: "+a);
System.exit(1); //退出程序
}else if(a%i==0&&b%i==0){
c=i ; //如果i能同时整除a和b,将i的值赋给c
continue ; //返回下一个循环体
}
}
System.out.println(m+"和"+b+"最大公约数为: "+c);
}
}
程序代码:/*
*从键盘上输入两个数,求他们的最大公约数
*/
public class TJ06 {
public static void main(String args[]){
System.out.print("请输入两个正整数:") ;
TJ06_1 tj = new TJ06_1();
tj.getInfo() ;
}
}
import java.util.Scanner;
public class TJ06_1 {
public TJ06_1(){}
Scanner scan = new Scanner(System.in) ;
int c;
int a=scan.nextInt() ; //接收送键盘上输入的第一个数
int b=scan.nextInt() ;
public void getInfo(){
a=a>b?a:b ; //取两数的最大值
b=a>b?b:a ; //取两数的最小值
if(a%b==0){
c=b ;
System.out.println(a+"和"+b+"的最大公约数为: "+c) ;
}else{
b=a%b ; //将a对b取摸得值赋给b
getInfo() ;
}
}
}
这是看了5楼的代码后 编的