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:
				
			
