由于某种原因,下面的输出结果为 0。我正在使用一个非常大的字符串(100,000 个字符),并在寻找一个大整数,以千亿为单位,例如 500,000,000,000。我有什么特别需要做的吗?目标是在 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)