題意:一首歌有t秒,開始下載下傳了s秒,然後開始播放,q表示經過q秒可以下載下傳q-1秒的歌曲,每次聽到下載下傳進度的地方就重新播放,問需要重播幾次可以聽到完整的歌。
題解:數學題,看了http://blog.csdn.net/skyword_sun/article/details/47415681的解法才了解。(q-1)/q是下載下傳速度,如果已經有了s秒音樂,目前實際可以聽的長度S=s+s*(q-1)/q+s*(q-1)/(q)*(q-1)/q+…=s*q,那麼下一次從頭播放的時候實際可以聽的S = S*q,是以可以遞推直到S >= t。
#include <stdio.h>
int main() {
int t, s, q;
scanf("%d%d%d", &t, &s, &q);
int res = ;
while (s < t) {
s *= q;
res++;
}
printf("%d\n", res);
return ;
}