请教一下大家为什么我感觉我的代码没写错,但是提交答案却给我显示错误,而且错的很离谱,只有一串数字。但我在编译器上复制我的代码,都能编译出来,请问这是为什么?
#Java
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
while(n-->0){
int a=sc.nextInt();
int sum=-a;
for(int i=1;i*i<=a;i++){
if(a%i==0)
sum += i;
if(i!=a/i) sum +=a /i;
}
if(sum==a)
System.out.printf("%d is perfect\n",a);
else
System.out.printf("%d is not perfect\n",a);
}
}
}