問題概要
問題ページ
[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()