/*

中文题意:

中文翻译:

题目大意:见红字(例如以下)

解题思路:打表,将每一个数的合数之和存在一个数组之中

难点具体解释:用两个for循环写的,第二个for循环主要是解释两个数相乘不超过这个最大数的上限,以下的a[i*j]主要是用来记录合数之和,同一时候也保证了数组上限在最大值里面

关键点:求在1000以内合数之和,打表

解题人:lingnichong

解题时间:2014/7/31    17:52

解题感受:一開始错了几次,原因是数组开小了,后台数组非常大,他又说对随意的m,所以数组要开非常大才会满足题意,才会过。错了努力去改动

*/

不可摸数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 8447    Accepted Submission(s): 2183

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
3
2
5
8
 
Sample Output
yes
yes
no
 

#include<stdio.h>
#define MAXN 500000+10
int a[MAXN]={0};
int main()
{
int n,t,i,j,m;
for(i=1;i<MAXN;i++)
for(j=1;j*i<MAXN;j++)
a[i*j]+=i;
scanf("%d",&t);
while(t--)
{
m=0;
scanf("%d",&n);
for(i=1;i<MAXN;i++)
{
if(a[i]-i==n)
m=1;
}
if(m==0)
printf("yes\n");
else
printf("no\n");
}
return 0;
}

HDU 1999 不可摸数的更多相关文章

  1. hdu 1999 不可摸数 水题。

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

  2. hdu 1999 不可摸数 筛选素数 两次打表

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

  3. HDU 1999 不可摸数 (模拟)

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

  4. HDU 1999 不可摸数【类似筛法求真因子和】

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

  5. HDU - 1999 不可摸数,快速求因子和

    题意:定义s[m]为m内的因子的和,给定一个n,判断是否有s[m]==n,若没有,则是不可摸数. 思路:首先要打表求出s[m]的值,标记这些出现过的值. 打表求因子和: for(int i=1;i&l ...

  6. 不可摸数 【杭电-HDOJ-1999】 附题

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

  7. HDOJ-1999 不可摸数

    不可摸数 转自:http://www.cnblogs.com/dongsheng/archive/2012/08/18/2645594.html Time Limit: 2000/1000 MS (J ...

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

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

  9. HUD-1999-不可摸数

    参考博客https://www.cnblogs.com/dongsheng/archive/2012/08/18/2645594.html Problem Description s(n)是正整数n的 ...

随机推荐

  1. 在delphi中, reintroduce作用

    在delphi中, reintroduce作用 当在子类中重载或者重新声明父类的虚方法时,使用     reintroduce   关键字告知编译器,可以消除警告信息.如:          TPar ...

  2. ubuntu鼠标突然不能使用的解决方法

    今天发现鼠标(usb即插即用)不能用了,最后发现需要接通充电才可以!!!用电池的时候居然不可以用鼠标?

  3. linux-LINUX试题

    ylbtech-doc:linux-LINUX试题 LINUX试题 1.A,LINUX试题返回顶部 01.{Linux题目}在使用匿名登录ftp时,用户名为(  )? (选择1项) A) login ...

  4. TabHost Tab的添加和删除

    TabHost 添加Tab项: tabhost = this.getTabHost(); TabSpec tabSpec = tabhost.newTabSpec("news"); ...

  5. java 使用相对路径读取文件

    java 使用相对路径读取文件 1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构:  DecisionTree            |___src      ...

  6. linux命令——rmdir

    rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.rm - r dir命令可代替rmdir rmdir [选项]... 目录... - p 递归删除目录dirname,当 ...

  7. Apache OFBiz 学习笔记 之 服务引擎 一

    概述     服务定义为一段独立的逻辑顺序,当多个服务组合一起时可完成不同类型的业务需求     服务有很多类型,WorkFlow.Rules.Java.SOAP.BeanShell等.java类型的 ...

  8. 【原】Kryo序列化篇

    Kryo是一个快速有效的对象图序列化Java库.它的目标是快速.高效.易使用.该项目适用于对象持久化到文件或数据库中或通过网络传输.Kryo还可以自动实现深浅的拷贝/克隆. 就是直接复制一个对象对象到 ...

  9. [LeetCode] Single Number III ( a New Questions Added today)

    Given an array of numbers nums, in which exactly two elements appear only once and all the other ele ...

  10. 五、python使用模块

    if __name__=='__main__':用法: 当我们在命令行运行模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if ...