Problem Statement
There are AA slimes.
Each time Snuke shouts, the slimes multiply by KK times.
In order to have BB or more slimes, at least how many times does Snuke need to shout?
Constraints
- 1≤A≤B≤1091≤A≤B≤109
- 2≤K≤1092≤K≤109
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
AA BB KK
Output
Print the answer.
Sample 1
Inputcopy | Outputcopy |
---|---|
1 4 2 | 2 |
We start with one slime. After Snuke's first shout, we have two slimes; after his second shout, we have four slimes. Thus, he needs to shout at least twice to have four or more slimes.
Sample 2
Inputcopy | Outputcopy |
---|---|
7 7 10 | 0 |
We have seven slimes already at the start.
Sample 3
Inputcopy | Outputcopy |
---|---|
31 415926 5 | 6 |
#include <iostream>
using namespace std;
int main()
{
long long a, b, k;
cin >> a >> b >> k;
int count = 0, i = 0;
while (a < b) {
a *= k;
count++;
}
cout << count << endl;
return 0;
}
这道题没什么难度其实,但是一开始没注意到参数范围,注意用long long字符型就OK了