[题目描述]
试求满足下述立方和不等式的 m 的整数解。
1^3+2^3+...+m^3≤n。
本题算法如下:
对指定的 n,设置求和循环,从 i=1 开始,i 递增1取值,把 i^3 (或 i∗i∗i)累加到 s,直至 s>n,脱离循环作相应的打印输出。
输入格式:
输入一个正整数 n。
输出格式:
输出不等式的整数解。
样例输入
10
样例输出
2
数据范围
对于 100% 的数据,保证都在 int 范围内。
来源/分类(难度系数:一星)
完整代码展示:
n=int(input())
a=1
s=1
m=[1]
while s<=n+1:
a+=1
s+=a**3
m.append(a)
print(m[-2])
代码解释:
“n=int(input())
a=1
s=1
m=[1] ”,让用户输入所要求的立方和整数解个数的整数。设置循环密码子为a,并将其初始值设为1。s为整数的立方和。将1的立方添加进列表m。
“while s<=n+1:
a+=1
s+=a**3
m.append(a) ”,当s小于或等于n时,每次循环,a就叠加1,s在a的基础上叠加a的立方,接着将a添加进列表m中。直至s的下一次循环的结果大于n,循环结束。
“print(m[-2]) ”,打印m的倒数第二项m[-2](因为循环结束的时候已经将大于n的一项添加进了列表m,因此我们所求的为它的下一项大于n的倒数第二项,而不是已经大于n的倒数第一项。)
运行效果展示:
(声明:以上内容均为原创)