不可摸数
2015-12-26 10:07
525 查看
不可摸数
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 26 Accepted Submission(s) : 13
[align=left]Problem Description[/align]
s(n)是正整数n的真因子之和,即小于n且整除n的因子和.例如s(12)=1+2+3+4+6=16.如果任何
数m,s(m)都不等于n,则称n为不可摸数.
[align=left]Input[/align]
包含多组数据,首先输入T,表示有T组数据.每组数据1行给出n(2<=n<=1000)是整数。
[align=left]Output[/align]
如果n是不可摸数,输出yes,否则输出no
[align=left]Sample Input[/align]
3 2 5 8
[align=left]Sample Output[/align]
yes yes no
[align=left]Author[/align]
Zhousc@ECJTU
[align=left]Source[/align]
ECJTU 2008 Spring Contest
思路就是求出对1000以内的各个数值的因子和
代码如下
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int MAXN=500050; int m[MAXN],dp[MAXN]; int main(){ int n,T_T; scanf("%d",&T_T); memset(m,0,sizeof(m)); memset(dp,0,sizeof(dp)); for(int i=1;i<=MAXN/2;i++) for(int j=i+i;j<MAXN;j+=i) m[j]+=i; for(int i=1;i<MAXN;i++) if(m[i]<=1000)dp[m[i]]=1; while(T_T--){ scanf("%d",&n); if(dp )puts("no"); else puts("yes"); } return 0; }
相关文章推荐
- NSCoding 的作用
- ural 1146. Maximum Sum
- 使XML序列化器生成XML文件
- Effective C++ 条款24
- IO redirect
- cmd del命令 文件删除
- java 打包下载文件
- iOS 对初学者极右帮助的博客网址和网址
- jQuery file upload file 总结
- Android Volley完全解析
- 删除txt文件每行第一(n)个空格前内容的方法
- BTS PenTesting Lab - A3 XSS
- ural 1145. Rope in the Labyrinth
- 关于Android LayoutParams的总结
- Red and Black 深搜问题
- ural 1145. Rope in the Labyrinth
- Android checkbox和radiobutton 以及Toast和AlertDialog的使用
- 生成随机密码
- iOS当设置TableView为Group时如何隐藏第一行的间隔
- MFC进度条编程控制