博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1215 七夕节
阅读量:5140 次
发布时间:2019-06-13

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

 

作为一个新手,最大的优势就是每道题都能学到很多经验,这道题真是让我受益匪浅。

首先给数组初始化时想到用memset,头文件 <memory.h> or <string.h>,可我想都赋值为1,用memset(a,1,sizeof(a))是不行的,memset不能给非字符型数组赋值,不过可以都初始化为0,给字符型数组赋值很方便。详细参考

求全部的约数之和也可用筛法(一般用来求素数)+打表(就是把一定范围里的全部素数都求出来,需要那个就返回哪个)。

大数组要开在主函数外面,否则会超时,而且要比要求的数值再大1、2个。

循环赋值时那个等号不能少,少了就WA,测试数据会取边界值检测,一定注意边界的处理,ACM对细节的处理非常在意。

1 #include
2 #define MAX 500000 3 int a[MAX+1]; //大数组要开在外面,否则超时,而且要比要求的数值再大1、2个 4 int main() 5 { 6 int n; 7 int i,j; 8 scanf("%d",&n); 9 a[0]=0;10 for(i=1;i<=MAX;i++) //这个等号不能少,少了就WA了... 11 a[i]=1; //至少都有1 12 for(i=2;i<=MAX/2+1;i++) 13 for(j=i+i;j<=MAX;j+=i) //只要是i的倍数的数肯定含有i这个因子,i自身就不加了,从i的下个开始14 a[j]+=i;15 while(n--)16 {17 int t;18 scanf("%d",&t);19 printf("%d\n",a[t]); 20 }21 }

 

转载于:https://www.cnblogs.com/xurenwen/p/3868704.html

你可能感兴趣的文章
Javascript 香港身份证号校验
查看>>
父类引用指向子类对象 调用函数常见问题
查看>>
随机数
查看>>
Oracle中pls_logger记录日志信息
查看>>
决svn的working copy locked并且cleanup恢复不能的情况
查看>>
数据库备份和恢复新神器SQL Angel for SQL Server问世
查看>>
多态的优缺点
查看>>
235课后第三题
查看>>
Java native关键字
查看>>
设计新人到设计新人=菜鸟到菜鸟?NO!
查看>>
【微服务那些事】Microservices场景下的持续部署
查看>>
HDU 5592 ZYB's Premutation
查看>>
逻辑思维训练之假设法
查看>>
解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid" failed(2:No such file or directory)...
查看>>
jfinal解决post get请求乱码问题
查看>>
一个屌丝程序猿的人生(六)
查看>>
(xampp)lampp 下配置https(ssl)自签双向认证以后 apache无法启动解决方案
查看>>
ADO.NET实体框架Entity Framework模型-基于XML解析
查看>>
struts2中的action交由spring管理
查看>>
优化php性能的一点总结
查看>>