问题 3766 --哥德巴赫猜想(完善程序)

3766: 哥德巴赫猜想(完善程序)★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 250  解决: 209
[提交][状态][命题人:]

题目描述

哥德巴赫猜想是指,任一大于2的偶数都可写成两个质数之和。迄今为止,这仍然是一个著名的世界难题,被誉为数学王冠上的明珠。试编写程序,验证任一大于2且不超过n的偶数都能写成两个质数之和。

#include <iostream> 
using namespace std;  
int main() 
{ 
	const int SIZE = 1000;          
	int n, r, p[SIZE], i, j, k, ans;     
	bool tmp;      
	cin>>n; 
	r = 1;     
	p[1] = 2; 
	for (i = 3; i <= n; i++) 
	{   
		_____(1)______ 
		for (j = 1; j <= r; j++)             
		if (i % _____(2)_____ == 0) 
		{                 
			tmp = false;                 
			break;             
		}         
		if (tmp) 
		{             
			r++;                 
			_____(3)______;         
		}     
	}      
	ans = 0; 
	for (i = 2; i <= n / 2; i++) 
	{         
		tmp = false; 
		for (j = 1; j <= r; j++)             
		for (k = j; k <= r; k++)                 
		if (i + i ==______(4)______) 
		{                     
			tmp = true;                     
			break;                 
		}         
		if (tmp)             
		ans++;     
	} 
	cout<<ans<<endl;     
	return 0; 
}


输入

输出

样例输入
Copy
2010
样例输出
Copy
1004

提示

来源

 

[提交][状态]