加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
找最大公约数.cpp 1.51 KB
一键复制 编辑 原始数据 按行查看 历史
刘睿阳 提交于 2024-10-17 13:52 . 第一次代码作业
#include <iostream>
#include <algorithm>
int commonDivisor(int x1, int x2) {
while (x2 != 0) {
int temp = x2;
x2 = x1 % x2;
x1 = temp;
}
return x1;
}
int commonDivisor(int x1, int x2, int x3) {
return commonDivisor(commonDivisor(x1, x2), x3);
}
int commonDivisor(int x1, int x2, int x3, int x4) {
return commonDivisor(commonDivisor(x1, x2, x3), x4);
}
int main() {
int numCount;
std::cout << "请输入整数的数量 (2, 3, 或 4): ";
std::cin >> numCount;
int numbers[4];
std::cout << "请输入" << numCount << "个整数: ";
for (int i = 0; i < numCount; ++i) {
std::cin >> numbers[i];
}
int result;
switch (numCount) {
case 2:
result = commonDivisor(numbers[0], numbers[1]);
break;
case 3:
result = commonDivisor(numbers[0], numbers[1], numbers[2]);
break;
case 4:
result = commonDivisor(numbers[0], numbers[1], numbers[2], numbers[3]);
break;
default:
std::cerr << "不支持的整数数量!" << std::endl;
return 1;
}
std::cout << "---------------------------";
std::cout << " 整数 " << numbers[0];
for (int i = 1; i < numCount; ++i) {
std::cout << "," << numbers[i];
}
std::cout << " 的最大公约数为: " << result << std::endl;
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化