zoukankan      html  css  js  c++  java
  • 非接触数(杭州电1999)

    /*非接触数
    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

    */
    /*用打表法将 n的真因子和存到a[n]中。
    注意打表的上限 确定M>=500000;
    */
    #include<stdio.h>
    #define M 500010
    __int64 a[M];
    int sum[1010];
    void asd()
    {
        int N;
        N=M/2;
        int i,j;
        for(i=1;i<N;i++)
                for(j=2*i;j<M;j+=i)
                a[j]+=i;
        for(i=0;i<M;i++)
        {
            if(a[i]<=1000)
           sum[a[i]]=1;
        }
    }
    int main()
    {
        int test,i;
        scanf("%d",&test);
        asd();
        while(test--)
        {
            int t;
            scanf("%d",&t);
            if(sum[t])
            printf("no ");
            else
            printf("yes ");
        }
        return 0;
    }

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    AcWing 2476. 树套树(线段树套splay)
    LeetCode 1191 K 次串联后最大子数组之和
    LeetCode 668 乘法表中第k小的数
    Java003-String字符串
    云原生CD工具spinnaker部署(容器化灰度发布)
    刷题日记
    8.22 校内模拟赛 题解报告
    关于 CDQ分治(复习)
    解题营_数论
    解题营_动规
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4842103.html
Copyright © 2011-2022 走看看