最大公约数
代码部分:
#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`。
全部评论
相关推荐
咖啡馆守时的南瓜:
虽然但是 总有分开的那一天
点赞 评论 收藏
分享
2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板 点赞 评论 收藏
分享