Official
C - Slimes Editorial
by
C - Slimes Editorial
by
nok0
この問題のように、「条件を満たすまで〇〇し続ける」といった処理を行うには while 文が有用です。
答えの上界は \(\log_2 10^9 < 30\) なので、シミュレーションを行うことで十分高速に答えを求められます。オーバーフローには十分気を付けてください。( \(A\) と \(K\) を掛けた際に、 32bit 整数に収まらない場合があります。)
実装例 (C++):
#include <bits/stdc++.h>
using namespace std;
int main() {
long long a, b, k;
cin >> a >> b >> k;
int res = 0;
while (a < b) {
a *= k;
res++;
}
cout << res << endl;
}
posted:
last update: