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

//入口

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 max=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;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值