1 条题解

  • 0
    @ 2024-12-18 14:07:26

    C :

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
    	int n,a,s,i,j,l;
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		s=0;
    	    scanf("%d",&a);
    		l=sqrt((double)a);
    		for(j=1;j<=l;j++)
    		{
    		    if(a%j==0)
    			{
    			    s+=j;
    				if(j!=a/j)
    			    {
    					if(j!=1)
    					{
    			            s+=a/j;
    					}
    			    }
    			}
    			
    		}
    		if(s==a&&a!=1)
    		{
    		    printf("%d is perfect\n",a);
    		}
    		else
    		{
    		    printf("%d is not perfect\n",a);
    		}
    	
    	}
    
        return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    int main()
    {
    	int i,j,n,sum,a,b;
    	scanf("%d",&n);
    	while(n>0)
    	{
    		scanf("%d",&a);
    		sum=1;
    		if(a==1)
    	    {
    	    	printf("1 is not perfect\n");
    	    	n--;
    	    	continue;
    		}
    		for(i=2;i<=sqrt(a);i++)
    		{
    			
    			if(a%i==0)
    			{
    				b=a/i;
    				sum=sum+i+b;
    			}
    		}
    		if(sum==a)
    		printf("%d is perfect\n",a);
    		else
    		printf("%d is not perfect\n",a);
    		
    		n--;
    	}
    	return 0;
    }
    
    
    • 1

    信息

    ID
    624
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    提交数
    208
    已通过
    26
    上传者