-1

私はPythonにかなり慣れていないので、それを使ってスターン・ブロコット列のn番目の項を計算するプログラムを作成しようとしました(それを調べることができます。それが私の関数がSBSeqと呼ばれている理由です)。何らかの理由で機能せず、次のようなエラーが発生します。

File "C:/Python27/Factorials.py", line 6, in SBSeq
return ((n%2)*SBSeq(ceil(n/2)-1))+SBSeq(ceil(n/2))

最終的にはこれになります:

File "C:/Python27/Factorials.py", line 5, in SBSeq
if n == 1: return 1
RuntimeError: maximum recursion depth exceeded in cmp

これが元のコードです。

import math
from math import ceil

def SBSeq(n):

if n == 1: return 1
return ((n%2)*SBSeq(ceil(n/2)-1))+SBSeq(ceil(n/2))

どんな助けでも大歓迎です!

4

3 に答える 3