C++语言编程求变正整数N的所有因子(包括1与N本身)以及这些因子的和,其中的N值通过键盘输入?

来源:百度知道 编辑:UC知道 时间:2024/06/21 19:26:59

#include <iostream>
#include <vector>
using namespace std;

vector<int> vec; //用一个向量(数组)保存所有的因子

//求总和
int calc(int N)
{
int sum = 0;
for (int i=2; i<N; ++i)
{
if (N%i == 0)vec.push_back(i);
}
vector<int>::iterator itr = vec.begin();
for (; itr != vec.end(); ++itr)
{
sum += *itr;
}
return sum;
}

int main()
{
int n;
cout << "Enter: ";
cin >> n;
vec.push_back(1);
vec.push_back(n); //将1和n放入数组
int sum = calc(n); //总和
vector<int>::iterator itr = vec.begin();
//输出这些数
for (; itr != vec.end(); ++itr)
{
cout << *itr << " ";
}
}

#include<iostream>
using namespace std;
void main()
{
int data,sum=0;
int i;