Q686: Goldbach's Conjecture(II)

//Q686 Goldbach's Conjecture(II)
//Accepted 2008-04-21 13:35:20
#include <iostream>
#include <cmath>

using namespace std;

int main(void)
{
int n = 0, nt;
while(cin >> n)
{
if (n == 0)
break;
int ct = 0, count = 0;
nt = n;
int *prime = new int [n];

//get prime
for(int i = 2; i <= nt; i++)
{
bool isprime = true;
for(int j = 2; j <= sqrt(i) && isprime; j++)
isprime = i % j != 0;
if (isprime)
prime[ct++] = i;
}

for(int i = 0; i < ct; i++)
{
int becheck = n - prime[i];
for(int j = 0; j < ct; j++)
if (becheck == prime[j] && prime[i] >= prime[j])
{
count++;
break;
}
}
cout << count << endl;
delete [] prime;
}
}

留言

wu,michael wu寫道…
ha~
Tell the truth~

你貼這麼多程式碼是不是有點..啊
偉寧寫道…
To 承諺:
其實我po那麼多程式碼就是要防止人來看我網誌啊~XD
哈哈開玩笑的啦
只是不知道要放什麼想說有東西就貼上來吧

這個網誌中的熱門文章

成功安裝Vista & Ubuntu Linux 8.04 LTS 雙系統!!!