秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1149782023-10-25 08:22:34loop0919Epython54/54AC50

from collections import defaultdict
def factorize_57(num):
    factorized = defaultdict(int)
    while num % 2 == 0:
        factorized[2] += 1
        num //= 2
    i = 3
    while i**2 <= num:
        while num % i == 0:
            factorized[i] += 1
            num //= i
        i += 2
    if num >= 2:
        factorized[num] += 1
    
    cnt_57 = min(factorized[3], factorized[19])
    factorized[3] -= cnt_57
    factorized[19] -= cnt_57
    factorized[57] += cnt_57

    return factorized

N = int(input())
factorized = factorize_57(N)

ans_list = []
for k, v in factorized.items():
    for _ in range(v):
        ans_list.append(k)
ans_list.sort()
print(*ans_list)
Python

sample1.txt AC 16
sample2.txt AC 23
sample3.txt AC 23
sample4.txt AC 20
case1.txt AC 21
case2.txt AC 28
case3.txt AC 28
case4.txt AC 17
case5.txt AC 21
case6.txt AC 28
case7.txt AC 24
case8.txt AC 18
case9.txt AC 25
case10.txt AC 34
case11.txt AC 32
case12.txt AC 29
case13.txt AC 21
case14.txt AC 28
case15.txt AC 20
case16.txt AC 20
case17.txt AC 31
case18.txt AC 19
case19.txt AC 21
case20.txt AC 26
case21.txt AC 36
case22.txt AC 24
case23.txt AC 20
case24.txt AC 40
case25.txt AC 49
case26.txt AC 49
case27.txt AC 19
case28.txt AC 18
case29.txt AC 26
case30.txt AC 40
case31.txt AC 18
case32.txt AC 28
case33.txt AC 48
case34.txt AC 49
case35.txt AC 50
case36.txt AC 22
case37.txt AC 49
case38.txt AC 20
case39.txt AC 17
case40.txt AC 16
case41.txt AC 17
case42.txt AC 22
case43.txt AC 18
case44.txt AC 21
case45.txt AC 25
case46.txt AC 31
case47.txt AC 26
case48.txt AC 29
case49.txt AC 28
case50.txt AC 21
50 AC