HDU 2098 分拆素数和
生活随笔
收集整理的這篇文章主要介紹了
HDU 2098 分拆素数和
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Problem Description 把一個(gè)偶數(shù)拆成兩個(gè)不同素?cái)?shù)的和,有幾種拆法呢? Input 輸入包含一些正的偶數(shù),其值不會(huì)超過10000,個(gè)數(shù)不會(huì)超過500,若遇0,則結(jié)束。 Output 對(duì)應(yīng)每個(gè)偶數(shù),輸出其拆成不同素?cái)?shù)的個(gè)數(shù),每個(gè)結(jié)果占一行。 Sample Input 30 26 0 Sample Output 3 2 先打素?cái)?shù)表,再一個(gè)一個(gè)判斷,水 不知道為啥,編譯錯(cuò)誤 #include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;int prime[10000];
void init_prime()
{int i, j;for(i = 2;i <= sqrt(10001.0); ++i){if(!prime[i])for(j = i * i; j < 10001; j += i)prime[j] = 1;}j = 0;for(i = 2;i <= 10001; ++i)if(!prime[i])prime[j++] = i;
}bool f(int N,int i)
{int t = N - prime[i];for(int j = i + 1;prime[j] < N;j++)if( t == prime[j])return true;return false;
}int main()
{int N;init_prime();while(cin >> N){if( N == 0 )break;int n = 0;for(int i = 0;prime[i] < N /2;i++){if(f(N,i))n++;}cout << n << endl;}//system("pause");return 0;
}
選錯(cuò)語言了,尷尬....
HDU選C++ !!!
轉(zhuǎn)載于:https://www.cnblogs.com/farewell-farewell/p/5500606.html
總結(jié)
以上是生活随笔為你收集整理的HDU 2098 分拆素数和的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用WPF动画编程的几点注意事项[转]
- 下一篇: 关于Android构建