洛谷P1150 Peter的烟

题目链接

题目描述
Peter 有 n 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?

输入格式
每组测试数据一行包括两个整数 n,k(1<n,k≤108 )。

输出格式
对于每组测试数据,输出一行包括一个整数表示最终烟的根数。

输入输出样例
输入 #1
4 3
输出 #1
5
输入 #2
10 3
输出 #2
14
说明/提示
对于 100% 的数据,1<n,k≤108

思路:
因为k个烟蒂=1支烟+1个烟蒂
所以k-1个烟蒂=1根烟,最后至少还剩一个烟蒂。
因此得到表达式:(n - 1) / (k - 1) + n

代码:

#include<iostream>
using namespace std;
int main()
{
    
    
	int n, k;
	cin >> n >> k;
	cout << (n - 1) / (k - 1) + n << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44826711/article/details/113755452