Java模运算符和GCD

时间:2011-08-03 10:18:35

标签: java modulo greatest-common-divisor fractions

为什么这段代码能给我一个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 个答案:

答案 0 :(得分:3)

因为gcd(25, 100) = 25可能

答案 1 :(得分:2)

它被称为Euclidean Algorithm

答案 2 :(得分:2)

这是一个快速计算,您也可以通过调试程序来查看它是如何工作的......

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

该链接显示了如何进行计算,如果您还没有看到它。希望这会有所帮助。

答案 3 :(得分:0)

while循环像这样工作

den!= 0 100!= 0

内循环

t = 25(den)

0 = 25%100

num = 25(t)

返回25(num)

所以结果是25