如何在递归序列中计算 U(n)?
How to calculate U(n) in a recursive sequence?
我正在制作一个解决“序列”(荷兰语直译)的程序,但是我不知道如何使用递归“序列”来解决这个问题。
递归序列示例:U(n) = U(n-1) * 3 + 2 * n
所以如果你想f.e。知道 U(3),您首先需要知道 U(2),然后再知道 U(1)(已给出)。
不知道怎么说python,如果用户想知道f.e。 U(7) 先计算前面的所有。
我相信它可能与 for ... while 循环有关,但我不知道它是如何工作的。
这就是为什么在“answer”变量处有问号的原因,我不知道公式/for...while 循环在 python.
中是什么
这是您需要了解我的问题的代码部分。
v = int(turtle.textinput("What is v?", "v= "))
square = int(turtle.textinput("Is 'n' squared? (if not --> 1)", "square= "))
multiple = int(turtle.textinput("What is 'n' multiplied with? ", "multiple= "))
if (v != 0 and square != 0 and multiple != 0):
WhatToKnow = int(turtle.textinput("Which U(n)?", "U(n)= "))
answer = ????
turtle.write(f"U({WhatToKnow}) is {answer}", font=('Courier', 30, 'italic'), align='center')
elif ...
总结一下我的问题:如何计算递归“序列”中的 U(n)。
你写的和你描述的几乎一模一样。
def U(n):
if n == 1:
return whatever-the-value-for-1-is
return U(n-1) * 3 + 2 * n
这里是函数 U(n) = U(n-1) * 3 + 2 * n
的一个实现,带有一个 for 循环
val = U(1) # the starting value
for i in range(2, n+1): # loop from 2 to n
val = val * 3 + 2 * i
print(val)
我正在制作一个解决“序列”(荷兰语直译)的程序,但是我不知道如何使用递归“序列”来解决这个问题。
递归序列示例:U(n) = U(n-1) * 3 + 2 * n 所以如果你想f.e。知道 U(3),您首先需要知道 U(2),然后再知道 U(1)(已给出)。
不知道怎么说python,如果用户想知道f.e。 U(7) 先计算前面的所有。 我相信它可能与 for ... while 循环有关,但我不知道它是如何工作的。 这就是为什么在“answer”变量处有问号的原因,我不知道公式/for...while 循环在 python.
中是什么这是您需要了解我的问题的代码部分。
v = int(turtle.textinput("What is v?", "v= "))
square = int(turtle.textinput("Is 'n' squared? (if not --> 1)", "square= "))
multiple = int(turtle.textinput("What is 'n' multiplied with? ", "multiple= "))
if (v != 0 and square != 0 and multiple != 0):
WhatToKnow = int(turtle.textinput("Which U(n)?", "U(n)= "))
answer = ????
turtle.write(f"U({WhatToKnow}) is {answer}", font=('Courier', 30, 'italic'), align='center')
elif ...
总结一下我的问题:如何计算递归“序列”中的 U(n)。
你写的和你描述的几乎一模一样。
def U(n):
if n == 1:
return whatever-the-value-for-1-is
return U(n-1) * 3 + 2 * n
这里是函数 U(n) = U(n-1) * 3 + 2 * n
的一个实现,带有一个 for 循环
val = U(1) # the starting value
for i in range(2, n+1): # loop from 2 to n
val = val * 3 + 2 * i
print(val)