Problem E: 最大公约数(while循环)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:20 Solved:17

Description

求两个正整数m和n的最大公约数。

Input

输入2个正整数

Output

输出最大公约数

Sample Input Copy

15 25

Sample Output Copy

5

HINT

最大公约数:几个整数中公有的约数,叫做这几个数的公约数;其中最大的一个,叫做这几个数的最大公约数。
例如:12、16的公约数有1、2、4,其中最大的一个是4,4是12与16的最大公约数,一般记为(12,16)=4。12、15、18的最大公约数是3,记为(12,15,18)=3。
算法分析:
求两个正整数的最大公约数采用数学中的辗转相除法,以下是辗转相除法:
分别用m,n,r表示被除数、除数和余数。
1、求m除以n的余数r;
2、若r等于0,则n为最大公约数,输出n并结束程序;若r不等于0,执行第3步;
3、将n的值赋给m,将r的值赋给n;
4、返回重新执行第1步。

Source/Category