编程求一个正整数的所有约数,并从小到到排开?

如题所述

#include <iostream>
#include <vector>
#include <algorithm>
// 函数用于求一个正整数的所有约数
std::vector<int> findDivisors(int num) {
std::vector<int> divisors;
for (int i = 1; i <= num; ++i) {
if (num % i == 0) {
divisors.push_back(i);
}
}
return divisors;
}
int main() {
int num;
std::cout << "请输入一个正整数:";
std::cin >> num;
// 获取约数并排序
std::vector<int> divisors = findDivisors(num);
std::sort(divisors.begin(), divisors.end());
// 输出结果
std::cout << num << "的所有约数为:";
for (int divisor : divisors) {
std::cout << divisor << " ";
}
std::cout << std::endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜