问题描述:求两个正整数的最大公约数。
作者:何知令
发表时间:2017年2月17日
输入:输入数据含有不多于50对的数据,每对数据由两个正整数(0 < n1,n2 < 232)组成。
作者:何知令
发表时间:2017年2月17日
输入:输入数据含有不多于50对的数据,每对数据由两个正整数(0 < n1,n2 < 232)组成。
输出:对于每组数据n1和n1,计算最大公约数,每个计算结果应占单独一行。
代码:
/*
问题描述:求两个正整数的最大公约数。
作者:何知令
发表时间:2017年2月17日
输入:输入数据含有不多于50对的数据,每对数据由两个正整数(0 < n1,n2 < 232)组成。
输出:对于每组数据n1和n1,计算最大公约数,每个计算结果应占单独一行。
*/
#include <stdio.h>
#include <stdlib.h>
int common_divisor(int a,int b)
{
if(a%b==0)
return b;
else
return common_divisor(b,a%b);
}
int main()
{
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)
printf("%d\n",common_divisor(a,b));
return 0;
}
程序运行结果展示:
知识点总结:函数,递归
学习心得:辗转相除法