結果

問題 No.1312 Snake Eyes
ユーザー FromBooska
提出日時 2023-03-03 18:07:48
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 908 bytes
コンパイル時間 215 ms
コンパイル使用メモリ 81,992 KB
実行使用メモリ 77,604 KB
最終ジャッジ日時 2024-09-17 22:11:12
合計ジャッジ時間 6,989 ms
ジャッジサーバーID
(参考情報)
judge6 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 83 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

# さっきのACは嘘解法
# Nの約数-1だけでなく、(Nの約数-1)の約数もpの候補

def base_k(num, k):
    result = set()
    while num > 0:
        amari = num%k
        result.add(amari)
        num -= amari
        num //= k
    return len(result)

def divisors(n):
    lower_divisors , upper_divisors = [], []
    i = 1
    while i*i <= n:
        if n % i == 0:
            lower_divisors.append(i)
            if i != n // i:
                upper_divisors.append(n//i)
        i += 1
    return lower_divisors + upper_divisors[::-1]

N = int(input())
divs = divisors(N)
divs_divs = set()
for d in divs:
    for d2 in divisors(d-1):
        if d2 > 1:
            divs_divs.add(d2)
divs_divs_sorted = sorted(list(divs_divs))
#print(divs_divs_sorted)
for d3 in divs_divs_sorted:
    if d3 == 1:
        continue
    calc = base_k(N, d3)
    if calc == 1:
        print(d3)
        exit()
0