パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

すでにあった

2018-07-23 | Python
またしても幻の問題をつくってしまいました。




問題を登録する際に自分で解答のプログラムも作らなければならないので、解答も作成。

def culc(s):
    r = 0
    for s1 in s.split("+"):
        r1 = 1
        for s2 in s1.split("*"):
            s3 = s2.split("^")
            r2 = int(s3[0])
            for i in range(1,len(s3)):
                r2 = r2**int(s3[i])
            r1 *= r2
        r += r1
    return str(r)

prg = "("+input().replace("**", "^") + ")"

bs = ""
while 1:
    f = 0
    for i in range(len(prg)):
        if prg[i] == "(":
            sp = i
            f = 1
        if prg[i] == ")":
            if f == 1:
                prg = prg[:sp] + culc(prg[sp+1:i]) + prg[i+1:]
                break
    if bs == prg:break
    bs = prg

print(prg)



速攻で却下されてしまいました。

すでにありました。

program = input()
print(eval(program))



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。