PTA 7-248 递归函数返回两个整数的最大公约数
分数 100
作者 于延
单位 哈尔滨师范大学
任务描述
编写函数,函数的形式参数为两个正整数a和b,函数返回a与b的最大公约数,要求用递归方式实现。主函数中输入两个整数m和n,输出m和n的最大公约数。
输入样例:
36 24
输出样例:
12
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int maxFactor(int x, int y){ //求最大公因数
if(y == 0)
return x;
//辗转相除法
int temp = x % y;
x = y;
y = temp;
return maxFactor(x, y); //返回调用自身
}
int main(){
int m, n;
scanf("%d %d", &m, &n);
printf("%d", maxFactor(m, n));
return 0;
}
解题思路:
递归辗转相除法求最大公因数
归属知识点:
递归