题目
爱丽丝要完成一项修剪灌木的工作。
有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌 木,让灌木的高度变为 0 厘米。爱丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开 始向左修剪灌木。直到修剪了最左的灌木后再次调转方向。然后如此循环往复。
灌木每天从早上到傍晚会长高1厘米,而其余时间不会长高。在第一天的 早晨,所有灌木的高度都是0厘米。爱丽丝想知道每棵灌木最高长到多高。
输入格式
一个正整数 N,含义如题面所述。
输出格式
输出 N 行,每行一个整数,第之行表示从左到右第讠棵树最高能长到多高。
分析
这个题关键在于找规律,当总数为奇数时与偶数时的规律略有不同,详见代码。
代码
n=int(input())
sum=[0]*n
if n%2==0:
for i in range(0,n//2):
sum[i]=(n-i-1)*2
for i in range(n//2,n):
sum[i]=i*2
else:
for i in range(0,(n//2)+1):
sum[i]=(n-i-1)*2
for i in range((n//2)+1,n):
sum[i]=(i)*2
for i in range(n):
print(sum[i])
这篇文章描述了一个关于计算爱丽丝修剪灌木问题的算法,关键在于根据不同树的数量是奇数还是偶数来确定每棵灌木最高能长到的厘米数。给出了Python代码实现和对应的规律分析。
1495

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



