题解:P11599 『Fwb』神话の传播
题目思路
题目中已经给出了追的天数的计算公式:\(\lceil \frac{n}{x}\rceil\),所以我们只需要求出补充能量的天数。不难发现,若每 \(k\) 天要补充能量的话,补充能量的天数为 \(\lceil \frac{\lceil\frac{n}{x}\rceil}{k}\rceil-1\)(第一次行动不需要能量所以要减一)。
实现
如何实现向上取整?判断 \(n\) 是否能被 \(k\) 整除,若能整除那就取 \(\left \lfloor \frac{x}{y} \right \rfloor\),否则取 \(\left \lfloor \frac{x}{y} \right \rfloor + 1\)。
代码
#include <iostream>
using namespace std;
int n, x, k;
int main (){
cin >> n >> x >> k;
int run = (n % x == 0 ? n / x : n / x + 1);
int breaken = (run % k == 0 ? run / k : run / k + 1) - 1;
cout << breaken + run << '\n';
return 0;
}