🕌
Codeforces Round #696 (Div. 2) B. Different Divisors
問題概要
正の整数
以下の条件を満たす正の整数
- 約数を少なくとも4つ持つ
- 約数を昇順に並べたときに隣り合った約数の差が少なくとも
d
解法
約数を4つ持つということは
または
という形に素因数分解されるとわかる
仮に、4つよりも大きい約数を持つ数が解になった場合を考える
例えば、
この数は
隣りあう2数の差が全て
このとき、
隣りあう2数の差が全て
他のケースでも同様のことがいえて4つよりも大きい約数を持つ数を考える必要はない
(1)の場合は
約数を昇順に並べると
(2)の場合は
約数を昇順に並べると
制約がそこまで大きな数でないので、(1)の方がよいということは考えられず(素数にそこまで間隔が開くことがない)
実際には(2)だけ調べれば良い
提出コード
Discussion