圣诞树周长上唯一点间距的求法

2024-04-25 08:07:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想到了一个算法,如果不是,我想把它放在最好的C++中,然后用Python来处理。它需要用户输入三个变量,圆的直径,他们想要在圆的周长上的唯一点的数量,以及他们想要查看多少圆。最后,我想把它变得更复杂,随着我们向上移动,所有的圣诞树都是多层的(虽然我会从顶部开始,向下移动,因为顶部的路径比底部的路径少),但这需要更多的思考,而不是我现在能给出的。下面是一个例子和公式。你知道吗

示例:

如果我有一棵直径8英尺的圣诞树,有4个颜色独特的装饰物可以悬挂,而且只有2/3的圣诞树(因为它在房子的角落里),那么每个装饰物之间的等长是多少?你知道吗

初始间距S为4.2英尺

S1=1.05英尺

S2=0.2英尺



**Variable Explanation                                          User Input**

Pi  The number Pi                                                           N
D   Diameter                                                                Y
C   Number of colors (or number of unique points you want on the circle)    Y
X   0-1; how much of the tree or circle will be viewed (two decimals)       Y

公式

S=(XpiD)/C

S1  S/C 
S2  S1/C    

广义公式

SN  SN-1/C  

问题:循环算法的代码是什么?你知道吗

找到答案的最佳方法似乎是让用户输入X、D和C,它们将等于S。但是如何用S1=S/C、S2=S1/C等等来写呢?你知道吗


Tags: orofthe用户路径算法numberpi
1条回答
网友
1楼 · 发布于 2024-04-25 08:07:11

我们称之为直径d,半径r = d / 2,可见部分的比例p,以及装饰物的数量n。例如p = 0.5表示树的一半是可见的。你知道吗

首先我们需要实际可见的弧的长度:

l = PI * d * p

现在我们需要计算每个装饰品之间的间距:

s = l / (n - 1)

第一个饰物放在0,最后一个放在l,其余的放在中间。你知道吗

现在来看第二部分:
在整棵树上计算:
假设你想把装饰物放置在h的高度上,而整棵树的高度是H

装饰物放置的弧线长度可以计算为

d(h) = (d / H) * h

例如,在高度3处,H = 6d = 2,我们将得到d(3) = 1。你知道吗

综上所述,我们得到了从高度到装饰物之间距离的函数:

s(h) = PI * (d / H) * h * p / (n - 1)

只要在你想放置装饰品的高度上绕一圈就可以了。你知道吗

相关问题 更多 >