Problem F: 最大公约数(自定义一个求最大公约数的函数)

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

Description

写一个函数,求两个整数的最大公约数,通过主函数调用这个函数,并输出结果。
两个整数通过键盘输入。

Input

空格分隔的2个整数

Output

输入两数的最大公约数,单独占一行。

Sample Input Copy

8 12

Sample Output Copy

4

HINT

利用辗转相除法求最大公约数。
辗转相除法,又名欧几里德算法,是求两个正整数最大公约数的算法,它的出现可追溯至3000年前。辗转相除法并不需要把数作质因子分解。用辗转相除法求正整数a、b的最大公约数运算过程为:
第一步:用被除数a除以除数b,得到余数c;
第二步:如果余数c不为0,则用上一步的除数b替换被除数a,用上一步的余数c替换除数b,再次执行第一步;如果余数为0则执行下一步;
第三步:则此时的除数即是a、b最大公约数。
例如a=60,b=25,运算过程为:
①60÷25=2…10; ②25÷10=2…5;③10÷5=2…0。第③步时,余数为0,运算结束,则此步的除数5即是60和25的最大公约数。

Source/Category