题目描述
爱丽丝要完成一项修剪灌木的工作。
有 NN 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌木,让灌木的高度变为 00 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。直到修剪了最左的灌木后再次调转方向。然后如此循环往复。
灌木每天从早上到傍晩会长高 11 厘米, 而其余时间不会长高。在第一天的早晨, 所有灌木的高度都是 00 厘米。爱丽丝想知道每棵灌木最高长到多高。
输入格式
一个正整数 NN ,含义如题面所述。
输出格式
输出 NN 行, 每行一个整数, 第行表示从左到右第 ii 棵树最高能长到多高。
输入输出样例
输入 #1复制
3
输出 #1复制
4 2 4
说明/提示
对于 30 \%30% 的数据, N \leq 10N≤10.
对于 100 \%100% 的数据, 1<N \leq 100001<N≤10000.
蓝桥杯 2022 省赛 B 组 D 题。
解题思路
循环修建灌木丛,灌木可以长到 的最大高度是从当前修建开始到下一次再修建所间隔的天数
hight=T(next)-T(today)
修建间隔呈对称分布,因此只用计算一半的灌木丛最大高度,另一半边相同。
package newPro;
import java.util.*;
public class pro11 {
public static void main(String args[])
{ Scanner in=new Scanner(System.in);
int n;
int num[];
n=in.nextInt();
num=new int[n];
for(int i=0;i<(n+1)/2;i++)
{
num[i]=Math.abs(i-(n-1))*2;
num[n-i-1]=num[i];
}
for(int i=0;i<n;i++)
{
System.out.println(num[i]);
}
}
}