Pagini recente » Cod sursa (job #3333724) | Cod sursa (job #3339201) | Cod sursa (job #3333455) | Cod sursa (job #3350451) | Cod sursa (job #3313652)
use std::{fs::File, io::BufWriter};
#[allow(unused_imports)]
use std::io::{BufRead, BufReader, Read, Write};
const FILE: &'static str = "ciur";
fn main() {
let mut fin = BufReader::new(File::open(format!("{}.in", FILE)).unwrap());
let mut fout = BufWriter::new(File::create(format!("{}.out", FILE)).unwrap());
let mut input = String::new();
fin.read_line(&mut input).unwrap();
let n = input.trim().parse::<usize>().unwrap();
let sqrtn = f64::sqrt(n as f64).ceil() as usize;
let mut ciur = vec![true; n + 1];
ciur[0] = false;
ciur[1] = false;
for i in 2..=sqrtn {
if ciur[i] == true {
for j in (i*i..=n).step_by(i) {
ciur[j] = false;
}
}
}
write!(&mut fout, "{}", ciur.into_iter().map(|x| x as i32).sum::<i32>()).unwrap();
}