您的位置:首页 > 其它

算法实现求两个整数的最大公约数!

2009-12-30 21:37 441 查看
//入口
public class sum
{
      public static void main(String[] args) throws Exception
    { 
  int number1=new input().InputNumber("请输入第一个数据");
  int number2=new input().InputNumber("请输入第二个数据");
  System.out.println("number1:"+number1);
  System.out.println("number2:"+number2);
  //int number1=10000;int number2=100000;
  int ma
4000
x=new max().maxby(number1,number2);
  if(max==0)System.out.println("no maxby"); 
  if(max>0)System.out.println(max);

 } }
 
 
//算法部分
public class max
{
 public   int maxby (int number1,int number2)
 {
  int n1=number1;
  int n2=number2;
  if(n1<=0||n2<=0)
  {
   return 0;
  }
  if(n1>n2)
  {
    int n=n1;
    n1=n2;
    n2=n;
  }
  int maxby=0;
   for(int i=n1;i>0;i--)
   {
    if(n1%i==0)
    {
     
      if(n2%i==0)
      {
       maxby=i;
       break;
      }
          
    }
    if(maxby>0)
    break;
   }
  
  return maxby;
 }
}
import java.io.*;
import java.util.*;
public class input
{
 public int InputNumber(String strl)throws Exception
 {
   int b=0;
      String str=strl;
   System.out.println(str);
   int num=0;
   int NUM=0;
    while (true)
    {
  
     try
    {
      //System.out.println(">>>>>>>>>>>>");
     b = System.in.read();
    }
     catch (Exception e)
    {
   System.out.println(e.getMessage());
    }
    if (b == '/r' | b == '/n')
   break;
    if(b>'9'||b<'0')
      break;
      else
    {
       
    num = b - '0';
    NUM= NUM*10+num;
    }  
    }
    System.out.println("输入的数字为:"+NUM);
    b=0;
    return NUM;
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐