不可摸数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5334    Accepted Submission(s): 1405

Problem Description
s(n)是正整数n的真因子之和,即小于n且整除n的因子和.例如s(12)=1+2+3+4+6=16.如果任何
数m,s(m)都不等于n,则称n为不可摸数.
Input
包含多组数据,首先输入T,表示有T组数据.每组数据1行给出n(2<=n<=1000)是整数。
Output
如果n是不可摸数,输出yes,否则输出no
Sample Input
8
Sample Output
yes 
yes 
no
/*//代码一:-----超时#include<stdio.h>#include<math.h>int fun(int num){int i,k=0;for(i=1;i<=(int)sqrt(num);++i)if(num%i==0){if(num/i!=i){k+=i;k+=num/i;}elsek+=i;}return k;}int main(){int T,i,n,flag;scanf("%d",&T);while(T--){flag=0;scanf("%d",&n);for(i=1;i<=(n-1)*(n-1);++i){if(fun(i)==n){flag=1;break;}}if(flag)printf("no\n");elseprintf("yes\n");}return 0;}*//*代码二:---AC标准的筛选法---求出每个数的因子和,然后看因子和是否在1000以内,是的话就证明等于因子和的这个数是不可摸数。*/#include<stdio.h>#define MAX 500001   //这题数据求到这里就可以了int sum[MAX];int flag[1001];void init()   //筛选法算出1000内存在的的因子和{int i,j;for(i=1;i<=MAX/2;++i)  //不知道为啥 这里开到刚超出1000了就不对for(j=i+i;j<MAX;j+=i)sum[j]+=i;for(i=1;i<MAX;++i)if(sum[i]<=1000)flag[sum[i]]=1;}int main(){int T,n;init();//    printf("%d\n",sum[500000]);scanf("%d",&T);while(T--){scanf("%d",&n);if(flag[n])printf("no\n");elseprintf("yes\n");}return 0;}/*对于这个题有两个引理和公认:1.     若x为大于2的偶数,那么s(x)>x/2;2.     若x是一个正奇数,而s(x)是偶数,那么x必然是一个平方数。3.     只有一个不可摸数是奇数,那是5有以上三个结论,便可以算出一定范围内的不可摸数。代码三:*/#include <iostream>using namespace std;int  arry[1005];void check(){int sum;for(int i=2;i<=2000;i+=2) {sum=0;for(int j=1;j<=i/2;++j){if(i%j==0)sum+=j;}if(sum<=1000)arry[sum]=1;}for(int i=3;i<=1000;i+=2){sum=0;for(int j=1;j<=(i*i)/2;j+=2){if((i*i)%j==0)sum+=j;}if(sum<=1000)arry[sum]=1;}}int main(){check();int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);if(n==5)cout<<"yes"<<endl;else {if(arry[n]||n%2==1)cout<<"no"<<endl;else cout<<"yes"<<endl;}}return 0;}

HDU 1999 不可摸数相关推荐

  1. 不可摸数http://acm.hdu.edu.cn/showproblem.php?pid=1999

    不可摸数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. hdu1999 不可摸数 好题.

    题意: s(n)是正整数n的真因子之和,即小于n且整除n的因子和.例如s(12)=1+2+3+4+6=16.如果任何数m,s(m)都不等于n,则称n为不可摸数.  (2<=n<=1000) ...

  3. 网络流(最大流) HDU 1565 方格取数(1) HDU 1569 方格取数(2)

    HDU 1565 方格取数(1) 给你一个n*n的格子的棋盘,每个格子里面有一个非负数. 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和 ...

  4. HDOJ-1999 不可摸数

    不可摸数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. hdu 7092 仓颉造数 (猜测,手模数据找规律,推公式)

    hdu 7092 仓颉造数 分析: 先考虑一个问题,若平均数能转换成 111 ,那么调和平均数也能转换成 111 ,反之亦然 所以,问题就转换成了,生成平均数,判断平均数是否会出现 111 ,至于能能 ...

  6. hdu 5247 找连续数(思维)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5247 找连续数 Time Limit: 2000/1000 MS (Java/Others)    M ...

  7. HDU 5673 Robot 卡特兰数

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5673 题目描述: 一个人从原点开始向右走, 要求N秒后回到原点, 且过程中不能到负半轴, 人有两种操 ...

  8. HDU 1565 方格取数(简单状态压缩DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=1565 对于每一个数,取或者不取,用0表示不取,1表示取,那么对于每一行的状态,就可以用一个二进制的数来表示.比如 ...

  9. HDU 1261 字串数

    字串数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

最新文章

  1. VS2010中重命名项目
  2. 【原】网页程序学习Linux利器-----jsuix
  3. 未来一瞥:机器人码农
  4. oracle中check约束性别,关于Oracle Check类型约束的导入与启用
  5. 一卦,测一下我心里想的事
  6. 三相滤波器怎么接线_单相电机和三相电机怎么接线?为什么三相电机有3或6个接线柱?...
  7. mysql根据idb还原数据_mysql通过idb文件,恢复数据库
  8. excel三次样条函数_Excel中F1到F12键的神奇用法
  9. 计算机密码忘了 开不了机怎么办,电脑设了开机密码现在忘了开不了机怎么处理?...
  10. mysql active_GitHub - vipshop/drc: MySQL active-active replication solution.
  11. 设计模式(一)—单例模式
  12. 海信计算机辅助统,海信计算机辅助手术系统(CAS2.2)升级面市
  13. 进度条(5.16-5.22)
  14. u盘装服务器系统还原c盘失败,云骑士一键重装系统win10还原c盘失败怎么办
  15. 在IGBT的开启过程中,IGBT的电压降低,电流上升,在IGBT的关断过程中IGBT的电压上升,电流下降,在一段时间内,电压和电流均不为0,由于功率等于电压乘以电流,即P=U×I,因此将产生损耗,开
  16. redhat 7.4系统安装英伟达独立显卡驱动步骤
  17. 计算机显示桌面图标不见了,电脑显示器桌面图标不见了怎么办
  18. 2022-2028年全球与中国汽车自动变速箱控制单元产业市场前瞻与投资战略规划分析
  19. react-native 调用第三方 SDK
  20. matlab cdf 曲线不平滑,拟合经验CDF曲线以找到确切的值

热门文章

  1. 计算机病毒需要附着在,计算机病毒是如何传播的?
  2. 数字非压缩光端机的选购原则
  3. [渝粤教育] 西南交通大学 信号与系统A 参考 资料
  4. 【渝粤教育】国家开放大学2018年秋季 0267-21T摄影技术 参考试题
  5. 【渝粤题库】国家开放大学2021春3990产品管理题目
  6. Zigbee无限数据传输模块在无线个域网有什么作用?
  7. “攻城狮”手把手教你物联网智能生活-内网穿透技术
  8. ZigBee技术的应用和优势
  9. java接受微信回调_SpringMvc微信支付回调示例代码
  10. 无穷级数求和7个公式_大家看,用反证法判别级数敛散性(送微积分同学)!...