题目大意:素数表2,3,5,7,11.....如果一个素数所在的位置还是素数,那么这个素数就是超级素数,比如3在第2位置,那么3就是超级素数.....现在给你一个数,求出来这个数由最少的超级素数的和组成,输出这个超级素数。

分析:因为给的数字并不大,所以直接用完全背包求出来即可。

代码如下:

=================================================================================================================================

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; const int MAXN = ;
const int oo = 1e9+; int sup[MAXN], cnt;
int dp[MAXN]; void superPrime()
{
bool used[MAXN]={,};
cnt = ; for(int k=,i=; i<MAXN; i++)
{
if(!used[i])
{
k++;
if(used[k] == )
sup[++cnt] = i;
for(int j=i+i; j<MAXN; j+=i)
used[j] = true;
}
}
} int main()
{
superPrime(); int N, from[MAXN]; scanf("%d", &N); for(int i=; i<=N; i++)
dp[i] = oo; for(int i=; i<=cnt; i++)
for(int j=sup[i]; j<=N; j++)
{
if(dp[j-sup[i]]+ < dp[j])
{
dp[j] = dp[j-sup[i]]+;
from[j] = j-sup[i];
}
} if(dp[N] == oo)
printf("0\n");
else
{
printf("%d\n", dp[N]);
for(int i=N; i!=; i=from[i])
{
printf("%d%c", i-from[i], from[i]?' ':'\n');
}
} return ;
}

最新文章

  1. 利用Mongoose来结构化模式与验证
  2. Qt编程&#39;&quot;&quot;hello world
  3. c语言内存分配-malloc
  4. SGU 114
  5. 关于引用mshtml的问题
  6. 【php】中【event】之实现方式
  7. JAVA-2-DATA
  8. 解决Spring中singleton的Bean依赖于prototype的Bean的问题
  9. python 一个包中的文件调用另外一个包文件 实例
  10. T-SQL语法基础
  11. Elixir 单元测试
  12. Android字符串判断是否包含中文
  13. ettercap+arpspoof进行HTTP信息嗅探
  14. 测试那些事儿—Linux搭建环境基础步骤
  15. 一个简单的Java程序
  16. 02 - nginx - 反向代理、限速
  17. (网络流 模板)A Plug for UNIX -- poj -- 1087
  18. 【CSWS2014 Main Conference】Some Posters
  19. order by 使用注意
  20. Python 爬虫实例(3)—— 爬取今日头条as cp 算法 解密

热门文章

  1. cocos2dx入门分析 hello world
  2. log4j文件
  3. Visual Studio 2008中添加运行按钮 转载
  4. JavaScript 实现触点式弹出菜单插件
  5. ie9以上浏览器input文本框/密码框后面的小叉子/小眼睛问题
  6. apache2.4下载与安装
  7. [我的疑问]String? = &quot;Skiy Chan&quot; 中的问号是什么意思?
  8. input 标签的class 失效
  9. Python自动化运维之1、Python入门
  10. __name__ == &#39;__main__&#39;的作用