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): 6684    Accepted Submission(s): 1736

    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
    import java.util.Scanner;
    
    public class Main{
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		boolean a[]=new boolean[1002];
    		for(int i=2;i<500000;i++){
    			int sum=1;
    			for(int j=2;j*j<=i&&sum<=1000;j++){
    				if(i%j==0){
    					sum+=j;
    					if(j!=i/j)
    						sum+=i/j;
    				}
    			}
    			if(sum<=1000)
    				a[sum]=true;
    		}
    		int N=input.nextInt();
    		while(N-->0){
    			int n=input.nextInt();
    			if(a[n])
    				System.out.println("no");
    			else
    				System.out.println("yes");
    		}
    	}
    }




     
  • 相关阅读:
    微信消息类型和事件类型
    lnmp环境搭建脚本
    laravel框架踩过的坑
    vue结构详解
    PHP消息队列实现及应用
    laravel 运行错误
    笔记分享
    cf730e
    cf 730i
    cf 731f
  • 原文地址:https://www.cnblogs.com/riskyer/p/3235350.html
Copyright © 2011-2022 走看看