22 UVA11461 Square Numbers
內容
完全平方數就是平方根為整數的整數。例如 1, 4, 81 就是完全平方數。給你兩個整數 a 和 b,請你求出 a 與 b 之間 (含) 有幾個完全平方數。
輸入說明
輸入檔最多有 201 行的輸入。每行有兩個整數 a 和 b (0<a≤b≤100000)。輸入以含有兩個 0 的一行作為結束,請勿對這行做任何輸出。
輸出說明
對於每行輸入,請產生一行輸出,這行含有一個整數,代表 a 與 b 之間 (含) 有多少個完全平方數。
範例輸入
1 4
1 10
0 0
範例輸出
2
3
解題:完全平方數就是平方根為整數的整數。例如 1, 4, 81 就是完全平方數。給你兩個整數 a 和 b,請你求出 a 與 b 之間 (含) 有幾個完全平方數
p = [0 for i in range(100001)]
#標示完全平方數
for i in range(317): #316*316=99856
p[i*i] = 1
#統計i包含幾個完全平方數
for i in range(1, 100001):
p[i] += p[i-1]
while True:
a, b = map(int, input().split())
if a == 0 and b == 0:
break
print(p[b] - p[a-1])