#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
數據結構——求兩個數的最大公因子
要求:必須采用遞歸和非遞歸兩種方法
非遞歸:
int main()
{
?? ?int a = 0;
?? ?int b = 0;
?? ?scanf("%d %d", &a, &b);
?? ?int c = a % b;
?? ?for (; c != 0; c = a % b)
?? ?{
?? ??? ?a = b;
?? ??? ?b = c;
?? ?}
?? ?printf("%d\n", b);
?? ?return 0;
}
遞歸:
int Hcf(int x, int y)
{
?? ?int z = 0;
?? ?z = x % y;
?? ?if (z != 0)
?? ?{
?? ??? ?x = y;
?? ??? ?y = z;
?? ??? ?Hcf(x, y);
?? ?}
?? ?else
?? ?{
?? ??? ?return y;
?? ?}
}
int main()
{
?? ?int a = 0;
?? ?int b = 0;
?? ?scanf("%d %d", &a, &b);
?? ?int ret = Hcf(a, b);
?? ?printf("%d\n", ret);
?? ?return 0;
}//105 200
?