题目要求如下:
求指定个数素数之和,例如输入:f(7)
则输出: 2,3,5,7,11,13,17
和为58;
代码如下:
#include <iostream>
#include <iomanip>
using namespace std;
void jud_Prime_Num(int arr1[]);
void Prime_Num(const int arr2[],int m);
const long int Max = 10000;
int main()
{
int arr[Max];
int num;
cout << "Enter how many prime number you want to calculate: ";
cin >> num;
for (int i=2; i < Max; i++)
arr[i] = i;
jud_Prime_Num(arr);
Prime_Num(arr,num);
return 0;
}
void jud_Prime_Num(int arr1[])
{
for (int i=2; i < Max; i++)
{
for (int j = 2; j < i; j++)
{
if (i%j == 0)
{
arr1[i] = 0;
break;
}
}
}
}
void Prime_Num(const int arr2[],int m)
{
int count=0;
int sum=0;
for (int i=2; i < Max && count < m; i++)
{
if (arr2[i] != 0)
{
cout << arr2[i] << setw(5);
count++;
sum += arr2[i];
}
}
cout << endl << "The first " << count << " of prime number sum is " << sum << endl;
}