UVa 1210 连续素数之和
https://vjudge.net/problem/UVA-1210
题意:
输入整数n,有多少种方案可以把n写成若干个连续素数之和?
思路:
先素数打表,然后求个前缀和。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
using namespace std;
typedef long long ll; const int maxn=+; int n; int primes[maxn];
ll sum[maxn];
int vis[maxn];
int cnt; void get_prime()
{
cnt=;
int m = sqrt(maxn + 0.5);
memset(vis, , sizeof(vis));
for (int i = ; i < m;i++)
{
if(!vis[i])
{
for(int j=i*i;j<maxn;j+=i)
vis[j]=;
}
}
sum[]=;
for(int i=;i<=maxn;i++)
{
if(!vis[i])
{
primes[++cnt]=i;
sum[cnt]=sum[cnt-]+i;
}
}
} int main()
{
//freopen("D:\\input.txt", "r", stdin);
get_prime();
while(cin>>n && n)
{
int ans=;
for(int i=;i<=cnt;i++)
for(int j=;j<i;j++)
if(sum[i]-sum[j]==n) ans++;
cout<<ans<<endl;
}
return ;
}
UVa 1210 连续素数之和的更多相关文章
- UVa 1210 (高效算法设计) Sum of Consecutive Prime Numbers
题意: 给出n,求把n写成若干个连续素数之和的方案数. 分析: 这道题非常类似大白书P48的例21,上面详细讲了如何从一个O(n3)的算法优化到O(n2)再到O(nlogn),最后到O(n)的神一般的 ...
- 【编程实践】连续正整数之和(华东师范大学OJ-3025)
题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的 ...
- hdu1003 Max Sum【最大连续子序列之和】
题目链接:https://vjudge.net/problem/HDU-1003 题目大意:给出一段序列,求出最大连续子序列之和,以及给出这段子序列的起点和终点. 解题思路:最长连续子序列之和问题其实 ...
- 一个正整数表示为n个连续正整数之和(第1届第2题)
题目要求 问题描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 编写程序,根据输入的任何一个正整数,找出符合这 ...
- 【C语言】输入一个整数N,求N以内的素数之和
[C语言]输入一个整数N,求N以内的素数之和 /* ========================================================================== ...
- [LeetCode] 829. Consecutive Numbers Sum 连续数字之和
Given a positive integer N, how many ways can we write it as a sum of consecutive positive integers? ...
- java例题_44 一个偶数总能表示为两个素数之和
1 /*44 [程序 44 偶数的素数和] 2 题目:一个偶数总能表示为两个素数之和. 3 */ 4 5 /*分析 6 * 1.从键盘得到一个偶数(大于2的偶数,因为1不是素数) 7 * 2.用for ...
- UVA - 1213 Sum of Different Primes (不同素数之和)(dp)
题意:选择k个质数,使它们的和等于n,问有多少种方案. 分析:dp[i][j],选择j个质数,使它们的和等于i的方法数. #pragma comment(linker, "/STACK:10 ...
- [51nod1138]正整数分解为几个连续自然数之和
解题关键:注意为什么上界是$\sqrt {2n} $ 因为函数是关于m的递减函数,而结果必须为正整数 $a = \frac{{2n + m - {m^2}}}{{2m}} = \frac{n}{m} ...
随机推荐
- IIS的安装和配置
一.首先是安装IIS.打开控制面板,找到“程序与功能” 二. “打开或关闭Windows功能”, 安装 “Internet 信息服务” 三. 安装完后回控制面板里面,找到“管理工具” 四. 双击“In ...
- 【BZOJ2599】[IOI2011]Race 树的点分治
[BZOJ2599][IOI2011]Race Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 100000 ...
- iOS CoreMotion 纪录步数
- (void)startUpdateAccelerometer{ /* 设置采样的频率,单位是秒 */ NSTimeInterval updateInterval = 0.05; // ...
- java的synchronized有没有同步的类锁?
转自:http://langgufu.iteye.com/blog/2152608 http://www.cnblogs.com/beiyetengqing/p/6213437.html 没有... ...
- SQL用户存在则更新不存在则插入
1.添加索引(一般是唯一索引,我的是联合唯一索引): alter table T_Cart add unique index(goods_id,user_id); 2.SQL /* * 保存购物车(如 ...
- KMP的next数组性质运用
hdu2594 Simpsons' Hidden Talents Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
- 树形DP求各点能走到的最远距离
hdu2196 Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- MyBatis DAO层传递参数到mapping.xml 几种方式
Dao层传递参数到mapping.xml文件的几种方式:(Mybatis传值总结) 第一种:传递单个参数 Dao层Code片段: /** * 根据articleId查询XXXX详情. * * @par ...
- Code Forces 652C Foe Pairs
C. Foe Pairs time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- c# 网站 vislual studio
一.新建 1.新建网站 在 菜单栏-->新建-->项目-->选项编辑语言-->web-->先前版本-> 2.新建母板: *.master文件是母板页文件.添加新项时 ...