最大公约数
代码部分:
#include
// 计算最大公约数的函数
int gys(int a, int b) {
int o;
if (a > b) {
o = a;
a = b;
b = o;
}
if (b % a == 0) {
printf("%d", a); // 如果b能被a整除,输出a
return 0;
} else {
gys(a, b % a); // 否则,递归调用gys函数
return 1;
}
}
int main() {
int a, b;
scanf("%d %d", &a, &b); // 读取两个整数
gys(a, b); // 计算并输出最大公约数
return 0;
}
知识点:
1. **递归函数**:使用递归函数 `gys` 来计算两个整数的最大公约数。
2. **输入输出**:使用 `scanf` 和 `printf` 函数进行输入输出操作。
3. **条件判断**:使用 `if` 语句来判断是否满足最大公约数的结束条件。
4. **变量交换**:使用临时变量 `o` 来交换 `a` 和 `b` 的值,确保 `a` 总是小于等于 `b`。
代码部分:
#include
// 计算最大公约数的函数
int gys(int a, int b) {
int o;
if (a > b) {
o = a;
a = b;
b = o;
}
if (b % a == 0) {
printf("%d", a); // 如果b能被a整除,输出a
return 0;
} else {
gys(a, b % a); // 否则,递归调用gys函数
return 1;
}
}
int main() {
int a, b;
scanf("%d %d", &a, &b); // 读取两个整数
gys(a, b); // 计算并输出最大公约数
return 0;
}
知识点:
1. **递归函数**:使用递归函数 `gys` 来计算两个整数的最大公约数。
2. **输入输出**:使用 `scanf` 和 `printf` 函数进行输入输出操作。
3. **条件判断**:使用 `if` 语句来判断是否满足最大公约数的结束条件。
4. **变量交换**:使用临时变量 `o` 来交换 `a` 和 `b` 的值,确保 `a` 总是小于等于 `b`。
全部评论
相关推荐
03-13 21:15
江南大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享