我一直在困惑如何让某个函数在Python中工作。函数本身是这样的:
(Phi_m)x((n2)) = (Phi_m)(x(m*n + r)) = m*x[n1] + r*(x([n1] + 1) - x[n1])
注意:n这里只是指定一些倍数。它不是一个列表元素,但是当应用x时它变成了一个列表元素。例如,在下面的示例中,我们可能认为n比列表中的任何元素都大。E、 一个列表有9个元素,最大的是3个,m=1-这里n=9=/=这个列表的元素。在
其中n2和n1是输入字符串的两个不同值,其中n1是通过“分解”n2得到的。我们考虑x[0] = 0
,r
始终为零或正且小于m
,并且{m
,比如m = 2
。现在我们分解n2
。说n2 = 5
。然后F(x(5)) = F(x(2*2+1)) 2x[2] + 1(x[3] - x[2])
。因此,如果我们的完整输入序列是0, 1, 1, 2, 3, 3
,那么我们将得到2*1+0=2
。所以我们的第五个输出项是2
。在
我最初想做的是:
^{pr2}$但这显然不符合我的目的。在
关键是,Python要做到这一点,就必须知道如何分解每个数字。所以它知道2
是固定的,并且知道{1
。只有完成后,它才能真正抓取n = 5
。也就是说,它可以运行函数。很明显,一旦它知道如何做到这一点,它就可以遍历我们范围内的每一个n
,但我真的不确定如何编写这个函数的核心。在
下面是我如何分解
n2 = m * n1 + r
形式的数字:或者使用固定的
^{pr2}$m
,这与常规的divmod
相同:仅使用cd4{或更多:
现在,作为一个完整的例子:
相关问题 更多 >
编程相关推荐