请求解答把辗转相除法写成递归函数,并由此计算两个整数的最大公约数
3条回答 默认 最新
threenewbee 2023-11-08 15:35关注#include<stdio.h> int Quto(int x, int y) { int temp = 0; if (x > y)先判断x和y哪个大 哪个小 { temp = x % y;//用大数除以小数得到第一个余数 if (temp!= 0)//判断第一个余数是否为零,是的话直接返回y,不是的话返回Quto()函数,继续计算 { return Quto(y, temp); } else { return y; } } else //这里是x<y的情况 { temp = y % x; if (temp != 0) { return Quto(x, temp); } else { return x; } } } int main() { int x = 0; int y = 0; int q = 0; printf("输入你想求最大公约数的两个数\n"); while (scanf_s("%d%d", &x, &y) != EOF) { int q = Quto(x, y); printf("他们的最大公约数为%d\n", q); getchar(); } return 0; }https://blog.csdn.net/2302_76267737/article/details/131961789
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报