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; }