10桁を超える数値を指定すると、どこでもデータ型Error:Integer too large
を使用しているにもかかわらず、エラーが発生します。long
これが私のプログラムです:
class q3 {
boolean prime(long a) {
long c=0;
for(long i=1;i<=a;i++) {
if(a%i==0) {
c++;
}
}
if(c==2) {
return true;
} else {
return false;
}
}
public void main(long a) {
boolean result=false;
for(long i=1;i<=a/2;i++) {
if(a%i==0) {
result=prime(i);
} else {
result=false;
}
if(result==true) {
System.out.println(i);
}
}
}
}