Pagini recente » Cod sursa (job #1519526) | Cod sursa (job #2427506) | Cod sursa (job #601229) | Cod sursa (job #1435034) | Cod sursa (job #2476244)
use std::fs::File;
use std::io::{BufWriter, Write, BufReader, BufRead};
fn read(path: &str) -> i64 {
let br = BufReader::new(File::open(path)
.expect(&format!("Couldn't open {} input file!", path)));
match br.lines().next(){
Some(c)=>{
let c=c.unwrap();
return c.parse::<i64>().unwrap();}
_=>{panic!("not a number!")}
}
}
fn main() {
let mut n= read("ciur.in") as usize;
let mut prim = vec![false; 2_000_001];
prim[0] = true;
prim[1] = true;
let mut i = 2;
while (i * i <= n) {
if prim[i] == false {
let mut j = 2;
while (i * j <= n) {
prim[i * j] = true;
j += 1;
}
}
i += 1;
}
let mut total = 0;
for i in 2..=n
{
if prim[i] == false {
total += 1;
}
}
let mut bw=BufWriter::new(File::create("ciur.out")
.expect("Couldn't create the output file! "));
write!(bw,"{}",total);
}