例如我手上有6块积木,能建3层高度的金字塔,底层是3块积木,第二层是2块积木,第一层就是1块积木,这样的话金字塔高度就是3,以此类推,如果手上有15块积木,就能建5层高度,但是,另外一种情况,我手上有20块积木,6-5-4-3-2,最高一层因为积木缺失无法建成,所以也只有5层,请问我随便输入一个积木数量,用python怎样计算出高度,要用while loop
你题目的解答代码如下:
n = int(input("输入一个积木数量:"))
s = 1
j = 0
t = 0
while n!=0:
if n>0:
j+=1
n-=j
t+=1
else:
n+=s
s+=1
h = t+1-s
print(f"高度:{h}层")
for i in range(s,t+1):
print(" "*(t-i) +"* "*(i))
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
垒积木的条件就是下层比上层积木块数多,所以可以假设积木是从最上面开始垒,最省积木的方式就是最上面是1块积木,下一层是2块,再下层是3块。。。以此类推,所以直到第n层没有n块积木的时候,就是所能垒的最高高度了。
程序实现就简单了:
n = int(input())
i = 0
while n>i:
i+=1
n-=i
print(i)
题目意思是能用多少算多少
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!