在C++中,打印因子列表的平方和可以通过以下代码实现:
#include <iostream>
#include <vector>
std::vector<int> getFactors(int num) {
std::vector<int> factors;
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
factors.push_back(i);
}
}
return factors;
}
int calculateSquareSum(const std::vector<int>& factors) {
int sum = 0;
for (int factor : factors) {
sum += factor * factor;
}
return sum;
}
int main() {
int number;
std::cout << "Enter a number: ";
std::cin >> number;
std::vector<int> factors = getFactors(number);
int squareSum = calculateSquareSum(factors);
std::cout << "Factors: ";
for (int factor : factors) {
std::cout << factor << " ";
}
std::cout << std::endl;
std::cout << "Square Sum: " << squareSum << std::endl;
return 0;
}
这段代码首先定义了一个getFactors
函数,它接受一个整数作为参数,并返回一个包含该整数所有因子的向量。然后,定义了一个calculateSquareSum
函数,它接受一个整数因子的向量,并计算平方和。最后,在main
函数中,用户输入一个数字,然后调用getFactors
函数获取因子列表,再调用calculateSquareSum
函数计算平方和,并打印结果。
这段代码的运行结果如下:
Enter a number: 12
Factors: 1 2 3 4 6 12
Square Sum: 246
在这个例子中,输入的数字是12,它的因子列表是1、2、3、4、6和12,它们的平方和是246。
对于这个问题,腾讯云没有特定的产品与之相关。
领取专属 10元无门槛券
手把手带您无忧上云