1

このコードの答えが 25 になるのはなぜですか?

public int findGcd() {
    int num = this.num;
    int den = this.den;

    while (den != 0) {
        int t = den;
        den = num % den;
        num = t;
    }

    return num;
}

これが主な方法です。

public class FractionTest {
    public static void main(String args[]) {
        Fraction f = new Fraction();
        f.num = 25;
        f.den = 100;
        f.findGcd();
    }
}

すべてのプログラムがどのように進行または実行されるかの完全なプロセスを誰かに教えてもらえますか?

4

4 に答える 4

3

gcd(25, 100) = 25おそらく_

于 2011-08-03T10:20:36.913 に答える
2

これは、ユークリッド アルゴリズムと呼ばれます。

于 2011-08-03T10:22:31.923 に答える
2

これは、プログラムをデバッグしてどのように機能するかを確認することによっても実行できる簡単な計算です...

http://gcd.awardspace.com/?num1=25&num2=100&OG=on&SC=on&RF=on&RC=on

リンクは、まだ表示されていない場合、計算がどのように行われるかを示しています。お役に立てれば。

于 2011-08-03T10:31:58.063 に答える
0

while ループは次のように機能します

デン!=0 100 != 0

内部ループ

t = 25 (デン)

0 = 25% 100

数値 = 25 (トン)

25 (数値) を返す

したがって、結果は 25 です。

于 2011-08-03T10:25:00.527 に答える