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 开头。此表达式的结果是序列中的 nth 值。

10 ** ((n+4)//3) * 2 ** ((n+4)%3) // 4

正如您在该表达式中看到的 // 3% 3 所见,这通过将您的序列分成三个一组来工作:25, 50, 100250, 500, 1000 等。我的表达式计算该组中的最后一个值三,这是10 的幂。然后我的表达式乘以一个适当的分数因子,1/4, 2/4, 4/4 之一。乘以分数的方法是乘以分子,即2 的幂,然后除以4

请注意,n+4 被使用了两次。许多编程语言,包括 Python,都有 divmod 函数同时执行 //(整数除法)和 %(整数模数)操作。如果您使用函数进行计算,使用divmod 可以使函数更易于理解,并且可能会稍微快一些。另请注意,我选择了这个表达式,因为它很容易转换到其他计算环境。如果您的环境没有//% 操作,可以使用inttrunc 或类似功能来完成。询问您是否需要帮助将我的表达翻译到另一个环境。

打印该序列的前 12 个值(n112)会导致

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 如何找到要在图中绘制的序列方程的主要内容,如果未能解决你的问题,请参考以下文章

d3 svg简单学习

求50到100以内的质数

计算50的阶乘,结果末尾处有多少个0

盐计量常用算法

d3.js-svg

记录android百度地图的一些细节功能的实现。