アルゴリズム-ファクトリアレイ(5692)


  • ソース

  • まず質問を紹介すると尚根が独特です
    10進数で読み込みません.
    719個の数字があれば、7*(7桁の工場)はこのようにすべての位置の数字を加算しますが、10進数でしか読めません.
    コードは簡単です.
    5種類の工場陣法があるので、input()です.split()でそれぞれ繰り返します.
    この数字は文字列なので、長さを求めて2つの繰り返し文を作ります.
    内部複文の最後に,以前に求めたlenから1を減算し,その後,以前に対応するlenの工場と複文が受け取ったjを乗算し,答えを加えた.
    内部の復唱が終わるたびに印刷されて完璧です!

    マイコード

    import sys
    import math
    
    num = input()
    
    for index, i in enumerate(num.split()):
        len_num = len(i)
        answer = 0
        for j in i:
            now = math.factorial(int(len_num))
            answer += now * int(j) 
            len_num -= 1
        if index == 4:
            print(answer, end='')
            break
        print(answer)
    でも通らなかった.splitの速度が遅すぎてsysでreadlineを受信しstripを行う必要があります...
    後で改めます.