//打表的时候竟然TLE,好囧啊!以为可以节省时间的!
//poj上面的题目就是比别的oj上的题目要难!加油!
#include "iostream"
#include "cmath"
#include "memory.h"
using namespace std;
bool is_primer(int num)
{
int i, n;
if (num == 1 || num == 0) return 0;
n = sqrt(double (num));
for (i = 2; i <= n; i++)
{
if (num % i == 0)
return 0;
}
return 1;
}
int primer[1000000];
int main()
{
int i, j = 0, number, a, b, max, temp1, temp2, temp3;
//for (i = 1; i <= 1000000; i++)
//{
//if (is_primer(i))
//{
// primer[j] = i;
// j++;
// }
//}
while (cin >> number)
{
if (number == 0) break;
max = -1;
for (i = 1; i <= number; i++)
{
if (is_primer(i))
{
temp1 = i;
temp2 = number - temp1;
if (temp2 < 0) break;
if (is_primer(temp2))
{
int temp3 = temp2 - temp1;
if (max < temp3)
{
max = temp3;
a = temp1, b = temp2;
}
break;
}
}
}
if (max < 0)
cout << "Goldbach's conjecture is wrong." << endl;
else
cout << number << " = " << a << " + " << b << endl;
}
}
poj 2262 Goldbach's Conjecture
最新推荐文章于 2020-04-24 15:25:58 发布