如何解决如何在递归序列中计算 U(n)?
我正在制作一个解决“序列”(荷兰语直译)的程序,但是我不知道如何使用递归“序列”来做到这一点。
递归序列示例:U(n) = U(n-1) * 3 + 2 * n 所以如果你想 f.e.知道U(3),你首先需要知道U(2),然后再知道U(1)(这是给定的)。
我不知道如何告诉 python,如果用户想知道 f.e. U(7) 首先计算所有以前的。 我相信它可能是一个 for ... while 循环,但是我不知道它是如何工作的。 这就是为什么“answer”变量处有问号,我不知道python中的公式/for...while循环是什么。
这是您在回答我的问题时需要了解的代码部分。
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
,
这里是函数 func tempoCallback(status:UInt8,note:MIDINoteNumber,vel:MIDIVelocity) -> () {
guard let status = AKMIDIStatus(byte: status),let type = status.type,type == .noteOn else { return }
let tempo: Int = note * 128 + vel
sequencer.tempo = Double(tempo)
}
的一个实现,带有一个 for 循环
U(n) = U(n-1) * 3 + 2 * n
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。