求解不等式python
本帖最后由 moogin 于 2020-4-17 14:50 编辑新手求教!键盘输入一个正整数给m,计算并返回满足表达式:
1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……+n)<=m最大的n。 往下翻翻,刚有人问过了。还是直接点这个吧:https://fishc.com.cn/thread-166028-1-1.html 你们这是组团来这里找人代写作业么?
def fun(max_num):
sum1,sum2=0,0
n=0
while sum1<=max_num:
n+=1
sum2+=n
sum1+=sum2
return n-1
print("n=%d"%fun(10000)) 你跟那个kllly是用一个班的吗?都留的这个作业?
m=int(input('请输入一个正整数'))
count,n,=0,0
while count<=m:
count=0
n+=1
for i in range(1,n+1):
count+=i*(n-i+1)
print(n-1) 本帖最后由 fan1993423 于 2020-4-17 15:14 编辑
或者这样,这两个版本都用的乘法,比纯加法更快
m=int(input('请输入一个正整数'))
count,n,=0,0
while count<=m:
count+=n*(n+1)/2
n+=1
print(n-1) fan1993423 发表于 2020-4-17 15:13
或者这样,这两个版本都用的乘法,比纯加法更快
你确定你的更快吗?
你在五楼的程序比四楼快,每次循环需要三次加法,一次乘法,一次除法
而我在三楼的程序,每次循环只用三次加法。
程序中加法要比乘法运算速度快,而且我程序运算次数要比你的少。 sunrise085 发表于 2020-4-17 15:07
你们这是组团来这里找人代写作业么?
……而且好多人都懒得做 sunrise085 发表于 2020-4-17 15:25
你确定你的更快吗?
你在五楼的程序比四楼快,每次循环需要三次加法,一次乘法,一次除法
而我在三楼的 ...
四楼是比较慢了,毕竟两个循环。五楼速度不错,跟你一样,测试了100万亿,也是秒出答案
页:
[1]