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的最大公约数。
辗转相除法,又名欧几里德算法,是求两个正整数最大公约数的算法,它的出现可追溯至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的最大公约数。