zoukankan      html  css  js  c++  java
  • hdu 1999 不可摸数 筛选素数 两次打表

    不可摸数

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


    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
     

    Author
    Zhousc@ECJTU
     

    Source

    思路:

    就是筛选法打表。

    代码例如以下:

    <span style="font-size:14px;">#include<stdio.h>
    int a[1001000];
    int sum[1002];
    int main()
    {
     int n,i,j,m;
     scanf("%d",&n);
     for(i=1;i<500500;i++)//筛选法打表
     for(j=2*i;j<1001000;j+=i)
     a[j]+=i;
     for(i=1;i<1001000;i++)//对1000以内的可以取到数再次打表标记
     if(a[i]<=1000)
     sum[a[i]]=1;
     while(n--)
     {
      scanf("%d",&m);
      if(sum[m])
      puts("no");//puts自己主动加入换行符
      else
      puts("yes");
     }
     return 0;
    }</span>


     

  • 相关阅读:
    jQuery让渡$操作符
    JSON
    Jquery实现Ajax(二)
    Jquery实现Ajax(一)
    Javascript实现Ajax
    文章目录
    读过的书
    JVM笔记(5)-垃圾回收&内存分配策略
    JVM笔记(4)-对象及其引用
    JVM笔记(3)-内存结构&方法执行(栈帧)
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6702527.html
Copyright © 2011-2022 走看看