UVa 1210 连续素数之和
2017-04-10 22:10
375 查看
https://vjudge.net/problem/UVA-1210
题意:
输入整数n,有多少种方案可以把n写成若干个连续素数之和?
思路:
先素数打表,然后求个前缀和。
题意:
输入整数n,有多少种方案可以把n写成若干个连续素数之和?
思路:
先素数打表,然后求个前缀和。
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<queue> using namespace std; typedef long long ll; const int maxn=10000+5; int n; int primes[maxn]; ll sum[maxn]; int vis[maxn]; int cnt; void get_prime() { cnt=0; int m = sqrt(maxn + 0.5); memset(vis, 0, sizeof(vis)); for (int i = 2; i < m;i++) { if(!vis[i]) { for(int j=i*i;j<maxn;j+=i) vis[j]=1; } } sum[0]=0; for(int i=2;i<=maxn;i++) { if(!vis[i]) { primes[++cnt]=i; sum[cnt]=sum[cnt-1]+i; } } } int main() { //freopen("D:\\input.txt", "r", stdin); get_prime(); while(cin>>n && n) { int ans=0; for(int i=1;i<=cnt;i++) for(int j=0;j<i;j++) if(sum[i]-sum[j]==n) ans++; cout<<ans<<endl; } return 0; }
相关文章推荐
- Sum of Consecutive Prime Numbers UVA - 1210 连续素数之和
- UVa 1210 - Sum of Consecutive Prime Numbers(素数+连续和)
- 习题10-6 连续素数之和 UVa1210
- 习题10-6 UVA - 1210 Sum of Consecutive Prime Numbers 连续素数之和(滑动窗口)
- UVa 1210 连续素数
- 连续素数之和(Uva 1210)
- 习题10-5 连续素数之和 uva 1210
- UVALive3399 UVA1210 POJ2739 Sum of Consecutive Prime Numbers【素数筛选+尺取法】
- UVA 1210 Sum of Consecutive Prime Numbers(素数打表)
- UVA1210Sum of Consecutive Prime Numbers(素数打表 + 连续和)
- Sum of Consec 4000 utive Prime Numbers UVA - 1210——素数表+初级dp思想
- 1.2.2一个数可以有多少种用连续素数之和表示
- 【素数 && 快速幂】UVA - 10006 Carmichael Numbers
- UVa 10791 - Minimum Sum LCM 质因数分解加素数筛优化
- uva1210
- UVA10006 - Carmichael Numbers(筛选构造素数表+高速幂)
- UVA 1415 - Gauss Prime(数论,高斯素数拓展)
- EularProject 27: 二次表达式的连续值素数
- Carmichael Numbers - UVa 10006 素数判断
- UVA583 UVALive5406 Prime Factors【素数因子+筛选法】