博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2189 悼念512汶川大地震遇难同胞——来生一起走
阅读量:5323 次
发布时间:2019-06-14

本文共 492 字,大约阅读时间需要 1 分钟。

这道题用了,埃式筛选法和背包,我自己没有做出来,看了别人的代码,我也做不出来,特别是c[j]+=c[j-b[i]];弄了好久都没有弄懂。

这道题的解题思路:主要是先把150以内的所有素数找出来,存到一个数组里面,然后再用背包问题解决。

#include
#include
int a[151]={0},b[151],c[151];//数组a存储数字的因子和,数组b存储素数,数组c存储每个数的分法int main(){ memset(c,0,sizeof(c)); int T,n,i,j,t=0; for(i =1; i<151; i++)//筛选法 { if(a[i]==1) b[t++]=i;//因子和为1的就是素数 for(j=2;i*j<151;j++) a[i*j]+=i; } c[0]=1; for( i=0;i

转载于:https://www.cnblogs.com/qie-wei/p/10160271.html

你可能感兴趣的文章
查看oracle数据库的连接数以及用户
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
Spring面试题
查看>>
C语言栈的实现
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
使用命令创建数据库和表
查看>>
【转】redo与undo
查看>>
安卓当中的线程和每秒刷一次
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
标识符
查看>>
一步步教你轻松学奇异值分解SVD降维算法
查看>>
内存地址对齐
查看>>
创新课程管理系统数据库设计心得
查看>>