HDU 2098 分拆素数和
2016-09-10 11:12
459 查看
分拆素数和
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 33755 Accepted Submission(s): 14696
Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
Sample Input
30
26
0
Sample Output
3
2
水题
素数筛一遍 遍历小于n/2的素数k 判断n-k是不是素数
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 33755 Accepted Submission(s): 14696
Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
Sample Input
30
26
0
Sample Output
3
2
水题
素数筛一遍 遍历小于n/2的素数k 判断n-k是不是素数
#include<iostream> #include<stdlib.h> #include<stdio.h> #include<string> #include<vector> #include<deque> #include<queue> #include<algorithm> #include<set> #include<map> #include<stack> #include<time.h> #include<math.h> #include<list> #include<cstring> #include<fstream> #include<bitset> //#include<memory.h> using namespace std; #define ll long long #define ull unsigned long long #define pii pair<int,int> #define INF 1000000007 const int MAX=10000; bool prime[MAX+5]; vector<int>prim; void ini_prim(){ int end=sqrt(MAX+3); fill(prime+2,prime+MAX+3,true); for(int i=2;i<=end;++i) for(int j=i*i;j<=MAX;j+=i) prime[j]=false; prim.push_back(2); for(int i=3;i<=MAX;i+=2) if(prime[i]) prim.push_back(i); } int main() { //freopen("/home/lu/文档/r.txt","r",stdin); //freopen("/home/lu/文档/w.txt","w",stdout); int n; ini_prim(); while(cin>>n,n){ int res=0; for(int i=0;i<prim.size()&&2*prim[i]<n;++i) if(prime[n-prim[i]]) ++res; cout<<res<<endl; } return 0; }
相关文章推荐
- hdu 2098 - 分拆素数和
- hdu 2098 分拆素数和(素数筛法)
- Hdu 2098 分拆素数和
- hdu 2098 分拆素数和
- HDU 2098 分拆素数和
- 继续刷水题= =||分拆素数和 HDU 2098
- HDU 1262 寻找素数对 2098分拆素数和
- HDU 2098 分拆素数和
- hdu 2098 分拆素数和
- hdu 2098 分拆素数和
- 【hdu 2098】 分拆素数和
- hdu 2098 分拆素数和
- hdu 2098 分拆素数和(水题)
- HDU 2098 分拆素数和
- HDU 2098 分拆素数和
- HDU_2098 分拆素数和
- 分拆素数和 HDU - 2098
- HDU 2098 分拆素数和
- HDU-分拆素数和-2098
- 杭电(hdu)2098 分拆素数和