主題

ZeroJudge - d186: 11461 - Square Numbers 解題心得

Not In My Back Yard | 2021-09-23 00:00:06 | 巴幣 0 | 人氣 58

題目連結:


題目大意:
輸入有多列,每列給定兩正整數 a 、 b(0 < a 、 b ≦ 100000,當 a = b = 0 時代表輸入結束),試問 a(含)~ b(含)之間有多少完全平方數?



範例輸入:
1 4
1 10
0 0


範例輸出:
2
3


解題思維:
利用類似這題的想法——令 F(n) 為 0 ~ n 有的完全平方數之數量,而我們可以看到 F(n) = floor(sqrt(n))。其中 floor() 為下高斯函數(對於正數即無條件捨去小數點)、sqrt() 代表著取其平方根。因此所求為 F(b) - F(a - 1)。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作