白兔的分身数

白兔的分身数

思路

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

题目链接

posted @ 2022-12-08 20:54  烟尘墨  阅读(50)  评论(0)    收藏  举报