2744: 练35.1 传输数据

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:56 解决:30

题目描述

现在有 $n$ 台电脑,这些电脑两两之间能互相传输数据,但是一台电脑一秒钟最多只能向 $k$ 台电脑传输数据。
现在小明的数据在某一台电脑上,他想知道至少需要几秒能将数据传到所有电脑上。

输入

第一行两个正整数 $n$,$k$;$1≤n$,$k≤10^9$。

输出

输出最少需要多少秒。

样例输入 复制

10 2

样例输出 复制

3

提示

#include<bits/stdc++.h>
using namespace std;
long long n,k,ans,p;
int main()
{
    cin>>n>>k;
    p=1;
    while(n>p) {
    	ans++;
    	p*=k+1; //每秒【新增】的数量是【原有】的k倍,所以【总共】的数量=【新增】+【原有】=【原有】*(k+1),即每秒翻k+1倍;
	}
	cout<<ans;
	return 0;
}