私はHackerRank.comからいくつかの演習を解いており、コードはNetbeansやテストケースのページコンパイラでも完全に機能しますが、コードを送信すると、すべてのテストでこのエラーがスローされます(最後を除く):
ArithmeticException: Solution.main(Solution.java:15) でスローされます
コードは次のとおりです。
Scanner s = new Scanner(System.in);
int a = s.nextInt(),j=1;
for(int i=0; i<a; i++){
int b = s.nextInt(), c =s.nextInt();
for(j = b*c; j>0;j--) {
if((b*c)%(j*j)==0){
System.out.println(b*c/(j*j));
break;}
}
}
15 行目は次のとおりです。
if((b*c)%(j*j)==0){
声明の何が問題になっていますか?for ループで 'j' を 0 とは異なる値に設定したので、0 で割る理由はありません。これが自分で見つけた唯一の説明でした。
前もって感謝します。