10,25,50,100,250,500,1000 如何找到要在图中绘制的序列方程
Posted
技术标签:
【中文标题】10,25,50,100,250,500,1000 如何找到要在图中绘制的序列方程【英文标题】:10,25,50,100,250,500,1000 how to find this sequence equation to plot in a graph 【发布时间】:2018-12-13 06:54:41 【问题描述】:10,25,50,100,250,500,1000..... 如何找到上述数列方程。
我需要像上面那样生成数字模式以将其绘制在我的图表中。
我尝试了 2x、2x、2x + x / 2、2x、2x、..... 2n,但我找不到公式的正确格式。谁能帮帮我?
【问题讨论】:
我投票结束这个问题,因为它不是关于编程的。这是关于数学的。 这只是一组用于绘制图表的轴刻度标签的“漂亮”值。10,25,50 * 10^k
@MBo 或示波器上的典型刻度。
【参考方案1】:
这是计算机代码(准确地说是 Python)中的表达式。这里,n
是数字在序列中的位置,以1
开头。此表达式的结果是序列中的 n
th 值。
10 ** ((n+4)//3) * 2 ** ((n+4)%3) // 4
正如您在该表达式中看到的 // 3
和 % 3
所见,这通过将您的序列分成三个一组来工作:25, 50, 100
、250, 500, 1000
等。我的表达式计算该组中的最后一个值三,这是10
的幂。然后我的表达式乘以一个适当的分数因子,1/4, 2/4, 4/4
之一。乘以分数的方法是乘以分子,即2
的幂,然后除以4
。
请注意,n+4
被使用了两次。许多编程语言,包括 Python,都有 divmod
函数同时执行 //
(整数除法)和 %
(整数模数)操作。如果您使用函数进行计算,使用divmod
可以使函数更易于理解,并且可能会稍微快一些。另请注意,我选择了这个表达式,因为它很容易转换到其他计算环境。如果您的环境没有//
或%
操作,可以使用int
或trunc
或类似功能来完成。询问您是否需要帮助将我的表达翻译到另一个环境。
打印该序列的前 12 个值(n
是 1
到 12
)会导致
10
25
50
100
250
500
1000
2500
5000
10000
25000
50000
【讨论】:
第二部分你也可以像4 >> (n % 3)
这样使用bitshift
@MBo:如果你把它改成4 >> ((n+1) % 3)
,那就行了!做得好!我不介意你把它放在你自己的答案中。我想到了另一种避免负数的方法,现在将其添加到我的答案中。
不,我不想回答,你的回答很全面以上是关于10,25,50,100,250,500,1000 如何找到要在图中绘制的序列方程的主要内容,如果未能解决你的问题,请参考以下文章