AtCoder Beginner Contest 250 D問題 250-like Number
問題
提出解答
問題の概要
次を満たす 以下の整数 の個数を求めよ.
- 次を満たす素数 が存在する:
制約
解法
素因数分解の一意性から, 求めるべき答えは なる素数 の形で表せる 以下の整数である.
の範囲について, 素数は 以上なので, より, である.
とする. 以下の素数 を固定する. このとき, 以下の素数 に対して, は必ず条件を満たす.
ここで, 素数 について, ならば, であるから, この方法で同じ整数を 回数えてしまうことはない.
以上から, 以下の素数と, 以下の整数 に対して, 以下の素数の個数を求めることができればよい. 以下の素数は Eratosthenes の篩を利用することにより, 計算量 で全て求めることができ, 以下の素数の個数は今求めた 以下の素数を利用して, 累積和で計算量 で計算できる.
以上から, 時間計算量 で求めることができた.