天天看點

編一個程式求質數的和,例如F(7)=2+3+5+7+11+13 +17=58。

編一個程式求質數的和,例如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;
} 
           

繼續閱讀