// 程 式 名: CommonFactor.c
// 作 者: Steve Wang
// 完成时间: 2006-11-06
// 程式功能: 利用欧几里得算法求两个整数的最大公因数
// 实现描述: 输入两个整数求最大公因数,若有输出其最大公因数,若无则输出信息
#include <stdio.h>
int Factor(int m, int n);
void main()
{
int m, n, result, temp;
printf("请输入两个整数: ");
scanf("%d%d", &m, &n);
if (m < n) // 保证m > n
{
temp = m;
m = n;
n = temp;
}
result = Factor(m, n);
if (result != -1) // 判断有无最大公因数
printf("%d 和 %d 的最大公因子是 %d /n", m, n, result);
else
printf("%d 和 %d 没有最大公因子!/n", m, n);
}
// 递归实现欧几里得算法求m,n的最大公因数
int Factor(int m, int n)
{
int r; // r为余数
r = m % n;
if (r == 0)
return n; // 找到返回
else
{
m = n;
n = r;
Factor(m, n);
}
return -1; // 没有最大公因数
}
本文介绍了一个使用欧几里得算法求两个整数最大公因数的C语言程序。通过递归方式实现了算法逻辑,并提供了完整的源代码示例。该程序能够接收用户输入的两个整数并输出它们的最大公因数。
5084

被折叠的 条评论
为什么被折叠?



