gpt4 book ai didi

c++ - 大输入程序耗时过长

转载 作者:太空狗 更新时间:2023-10-29 23:32:41 27 4
gpt4 key购买 nike

我正在使用一个方程式,在这个方程式中,我们必须在给定 b 值的情况下找到 x 可以取的最大值。 xb 都只能取非负整数值。等式是:

x^4+x^3+x^2+x+1≤b

我写了下面的代码(显然很笨)来解决它:

#include<iostream>
#include<climits>

using namespace std;

int main()
{
unsigned long long b,x=0;
cout<<"hey bro, value of b:";
cin>>b;
while(x++<b)
if(x*x*x*x+x*x*x+x*x+x+1>b)
break;
if(b==0)
cout<<"Sorry,no value of x satisfies the inequality"<<endl;
else
cout<<"max value of x:"<<x-1<<endl;
return 0;
}

上面的代码在 b=LONG_MAX 之前都可以正常工作,但是在 b=LONG_LONG_MAXb=ULLONG_MAX 之后,它就开始耗时很久了。我怎样才能解决这个问题,让它在最多b=ULLONG_MAX时正常工作?

最佳答案

如果对于 x = m ,不等式成立,那么它也适用于所有整数 < m .如果它不适用于 m , 那么它不适用于任何整数 > m .这表明什么算法?

如果您想宠爱自己,请点击here用于算法。

关于c++ - 大输入程序耗时过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32452393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com