CodeForces - 569A Music
题目大意:一首歌 T 秒,已经下了 S 秒,每 q 秒可以下 q-1 秒,每次听完下载完的部分就重头播放,直到整首歌下载完,问会播放几次。
解题思路:速度是 q-1/q,类似追及问题,S + t (q-1)/q = t1,解得 t = S q,即下一次播放时能听 的(下载完的)时常为 S q,直到 S > T 表示下载完毕。
#include <iostream>
using namespace std;
int main() {
int T, S, q;
while (cin >> T >> S >> q) {
int time = 0;
while (S < T) {
S = S * q;
++time;
}
cout << time << endl;
}
return 0;
}