何らかの理由で、以下の出力は 0 になります。非常に大きな文字列 (100,000 文字) を使用しており、500,000,000,000 など、1000 億単位の大きな整数を探しています。私がしなければならない特別なことはありますか?目標は、pi の最初の 100,000 桁で 1,2,3 のサブシーケンスの数を見つけることです。私は以下がアルゴリズム的に正しいことを知っています。「コードが正しい」だけではありません。
pi100k = "3.14159[100,000 digits of pi]"
subSeqInit = 0
subSeqPair = 0
subSeqTotal = 0
for c in pi100k:
if c == 1:
subSeqInit = subSeqInit + 1
elif c == 2 and subSeqInit > 0:
subSeqPair = subSeqPair + 1
elif c == 3 and subSeqTotal > 0:
subSeqTotal = subSeqTotal + 1
print(subSeqTotal)