hdu-1999 不可摸数
2015-12-18 14:33
183 查看
#include<stdio.h> #include<string.h> #define MAX 500000 int shu[MAX]; int kemo[1010]; void ints() { int i,j,m; m=MAX/2; memset(shu,0,sizeof(shu)); for(i=1;i<m;i++) { for(j=i+i;j<MAX;j+=i) shu[j]+=i; // 找出500000以内的所有数的真因子数的和 } for(i=1;i<MAX;i++) if(shu[i]<1000) kemo[shu[i]]=1; // 把500000以内的真因子数之和小于一千的下标赋值 } int main() { int t,r,k; while(~scanf("%d",&t))理解了就明白了 { for(r=1;r<=t;r++) { scanf("%d",&k); ints(); if(kemo[k]) printf("no\n"); else printf("yes\n"); } } return 0; }
相关文章推荐
- IOS多线程开发之线程的状态
- EasyDarwin开源平台直播架构
- 利用MultipartFile实现文件上传
- Ubuntu15.10初用心得
- MyBatis_typeAliases说明
- hdu-1799 循环多少次?
- 史上最啰嗦的浏览器兼容性问题汇总
- Ext.js5的表格的排序扩展(7)
- iOS8以后推送通知需要访问权限
- 剑指offer 例题
- SQL备份数据库
- property,类和类之间的关系
- javascript级联菜单的操作
- 关于方法的ref
- IOS开发之Core Location
- 大菲波数
- BootStrap-DualListBox怎样改造成为双树
- linux信号量全面介绍
- Java创建和解析Json数据方法(一)——Json知识
- eclipse中tomcat能正常启动,但是浏览器访问不了tomcat首页的问题