int main() {
vector<int>v;
for (int i = 1; i <= 1000;i++) {
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
v.push_back(j);//因子加入数组中
}
}
int sum = 0;
for (int j = 0; j < v.size(); j++) {
sum += v[j];
}//求因子数和
if (sum != 1) {
sum -= i;
}//此时因子中会包含目标数字,因此要减掉
if (sum == i) {
cout << i << '=';
cout << *v.begin();
for (int h = 1; h < v.size()-1 ; h++) {
cout << '+'<< v[h] ;
}
cout << endl;
}//打印因子
v.clear();//清空数组,进行下一个数字计算
}
return 0;
}
打印1000以内完数的表达式
最新推荐文章于 2024-08-15 22:41:27 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)