Edit

【pythonでABC180を解説】C - Cream puff

問題概要

問題ページ

[st-card-ex url="https://atcoder.jp/contests/abc180/tasks/abc180_c" target="_blank" rel="nofollow" label="" name="" bgcolor="" color="" readmore="問題ページへ移動する"]

問題文

\(N\) 個のシュークリームがあります。

シュークリームを分割することなく平等に分けることができるような人数としてあり得るものを全て求めてください。

制約

  • \(1 \leq N \leq 10^{12}\)
  • \(N\) は整数

問題の考察

ACコード

import sys
import collections


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    d = collections.defaultdict(int)
    for i in range(1, int(n ** 0.5) + 1):
        if n % i == 0:
            d[i]
            d[n // i]
    print(*sorted(d.keys()), sep="\n")


if __name__ == '__main__':
    solve()

プログラミング

-Edit
-