library_checker/math/
enumerate_primes.rs

1#[doc(no_inline)]
2pub use competitive::math::PrimeList;
3use competitive::prelude::*;
4
5#[verify::library_checker("enumerate_primes")]
6pub fn enumerate_primes(reader: impl Read, mut writer: impl Write) {
7    let s = read_all_unchecked(reader);
8    let mut scanner = Scanner::new(&s);
9    scan!(scanner, n: u64, a, b);
10    let primes = PrimeList::new(n);
11    let iter = primes.primes().iter().skip(b).step_by(a);
12    writeln!(writer, "{} {}", primes.primes().len(), iter.clone().len()).ok();
13    for p in iter {
14        write!(writer, "{} ", p).ok();
15    }
16    writeln!(writer).ok();
17}