函数题:C程序设计 习题 7.7.3 递归法求最大公约数

您所在的位置:网站首页 递归法求最大公约数 函数题:C程序设计 习题 7.7.3 递归法求最大公约数

函数题:C程序设计 习题 7.7.3 递归法求最大公约数

2024-04-07 12:01| 来源: 网络整理| 查看: 265

两个正整数的最大公约数(Greatest Common Divisor,GCD)是能够整除这两个整数的最大整数。请实现函数,用递归法计算两个数的最大公约数。

递归法:当a > b时,a 和 b的最大公约数相当于 a - b 和 b 的最大公约数;

当b > a时,a 和 b的最大公约数相当于 b - a 和 a 的最大公约数;

当a = b时,a 和 b的最大公约数就是 a (或b);

### 函数接口定义:```c++int Gcd(int a, int b);```

其中,`a`和`b`是用户输入的两个正整数。

函数返回`a`和`b`的最大公约数。

如果`a`或`b`小于等于0,则函数返回-1。

### 裁判测试程序样例:```c++在这里给出函数被调用进行测试的例子:#include int Gcd(int a, int b);int main(){ int a, b, c; scanf("%d %d", &a, &b); c = Gcd(a,b); if (c != -1) { printf("%d\n", c); } else { printf("Input number should be positive!\n"); } return 0;}

/* 请在这里填写答案 */```

### 输入样例:

在这里给出一组输入。例如:

```in15 20```

### 输出样例:

在这里给出相应的输出。例如:

```out5```

答案:若无答案欢迎评论



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3