链接:
https://www.nowcoder.com/acm/contest/73/A
来源:牛客网
来源:牛客网
题目描述
白兔学会了分身术。
一开始有一只白兔,接下来会进行k轮操作,每一轮中每一只白兔都会变成p只白兔。
要求k轮后白兔的总数恰好为n。
要求找到两个正整数p,k,最大化p+k
输入描述:
输入一个正整数n(2<=n<=1018)
输出描述:
输出一个整数,p+k的最大值
题解:
p^k=n,n已知,令p+k最大,即k=1,如:n=10,则10^1=10.n=9,则9^1=9;
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;cin>>n;
cout<<n+1<<endl;
return 0;
}
针对牛客网的一道算法题目,描述了如何通过数学方法快速求解给定数量的白兔经过分身后总数达到特定值时,分身数量与轮次之和的最大值。提供了简洁的C++代码实现。
943

被折叠的 条评论
为什么被折叠?



