白兔的分身数
白兔的分身数
思路
\(1\)只兔子进行\(k\)轮操作后可以变为\(n\)只兔子,每次兔子都变为原来的\(p\)倍。
由此可得\(p^k = n\),即\(k = log_{p}n\),所以\(p+k = p + log_{p}n =
log_{p}p^p+log_{p}n =
log_{p}p^p*n\)
如果\(n \ge 2\),\(2 \le p \le n\),则当\(p\)取最大值即\(p = n\)时,原式子取得最大值,
即\(p+k = n+log_{n}n = n+1\)
代码实现
//ac代码
#include <iostream>
using namespace std;
typedef long long ll;
int main()
{
ll n;
cin>>n;
cout<<n+1;
}

浙公网安备 33010602011771号