編一個程式求質數的和,例如F(7)=2+3+5+7+11+13 +17=58。
#include <math.h>
#include <iostream>
using namespace std;
int main(void)
{
//x計數質數的個數,result是最後質數的累和
int x=0,result=0;
cout<<"請輸入質數個數:";
cin>>x;
//初始化計數和自然數起始值
int i=0,count=2;
//判斷是達到所求質數個數
while(i<x)
{
//因整數不能用求根公式,變換形式
double ch_count=count;
//求自然數的平方根
int new_count=sqrt(ch_count);
//參數判斷是否為質數
int iscount=0;
//判斷是否為質數
for(int j=1;j<new_count+1;j++)
{
if(count%j==0)
iscount++;
}
//若為質數,累和并質數計數加一
if(iscount==1)
{
result=result+count;
i++;
}
count++;
}
cout<<"result="<<result<<endl;
getchar();
//輸入字元,退出編譯,友善調試
char a;
std::cin>>a;
return 0;
}