发布网友 发布时间:2022-04-26 03:56
共1个回答
热心网友 时间:2022-06-20 15:57
首先找一下规律:
发现没有,其实这个漏斗是一个等差数列:5 3 1 3 5.公差为2,首项为1,但是是对称的。
那么题目和代码中给定的n就是和了。我们想知道对于一个给定的n,我们在尾项(k)为多少,或者说有多少项((k/2+1)*2,也就是后面的h*2-1)的时候能够使得和area(代码中理解为面积)能够满足小于n,并且使得这个k最大,所以一开始从3开始,一直求一个最大的k(尾项),使得和能够满足。但是要注意的是当判断出这个尾项k的时候,k已经不满足了!前一个k才是我们想要的,所以要k-2.
至于h,代码中理解为行(hang,汉语拼音,我认为)。我就理解为项数,比如说h=3,那么就是有3行:1 3 5.但是要打印漏斗状,所以要对称,还要再打印一行。
或许语言组织不明确,可以接着问。也可以说一下你的思路,按照你的思路给你捋一遍。