簡體   English   中英

尋找最大的公約數

[英]Finding the greatest common divisor

基於他們在紙上解決此問題的方式:

http://www.wikihow.com/Find-the-Greatest-Common-Divisor-of-Two-Integers

我正在嘗試使用108作為m和30作為n解決Java中最大的公約數。 問題是,當我運行該程序時,結果最終為0。我知道我可以執行此方法,因為我自己編寫了代碼,但是每次編寫這樣的方法時,我都會遇到一個絆腳石:

public static double getGcd_nr(int m, int n){
    int dividend = m;
    int divisor = n;
    int quotient = dividend/divisor;
    int remainder = dividend % divisor;
    int gcd = 0;

    for(int i = divisor * quotient + remainder; i > 0; i--){
        dividend = divisor;
        divisor = remainder;
        if (remainder == 0){
            gcd = divisor;
        }
    }
    return gcd;
}

請您幫助我完成我需要完成的工作。 我需要編寫自己的代碼,而不要復制別人的代碼。

while(m!=n)
{
  if(m >= n-1)
     m = m-n;
  else 
     n = n - m;  
}
return m;

查找兩個數字的gcd的非遞歸解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM