#21730: 給C++ TLE的夥伴一些建議


810473_chia (unknown)

School : No School
ID : 116021
IP address : [122.116.197.133]
Last Login :
2021-03-09 16:00:13
d122. Oh! My Zero!! -- liouzhou_101 | From: [122.116.197.133] | Post Date : 2020-07-13 12:30

不是那麼直觀的一題

用for從頭跑到尾一定TLE

即使只算5的倍數

AC的想法是參考解答後才想通

依序算出5的次方有幾個

舉例來說N=100

算法如下

100 = 5 * 20 所以有20個5

100 = (5^2) * 4 所以又增加了4個5

100 = (5^3) * 0 超出N的大小

答案為 應有20+4=24個5

本次運算迴圈共執行2次

相對於用for 5跑到100 少了不少次...

 
ZeroJudge Forum