import java.util.Scanner; public class d186 { public static void main(String[] args){ Scanner kin = new Scanner(System.in); while(kin.hasNext()){ int a = kin.nextInt(); int b = kin.nextInt(); int t=0; if(a+b>0){ for(int i=a;i*i<=b;i++){ if(i*i<=b) t++; } } System.out.println(t); } } }
您的答案為: 224 正確答案為: 225
邏輯怪怪的喔,應該是 i * i 要落在 [a , b]
(a < b, 所以可能要 swap 喔)
所以應該是從 i = sqrt(a) 開始迭代吧,不是 i = a 吧?
注意浮點數轉整數喔。