Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::convert::TryInto;
- fn main() {
- use std::time::Instant; //those
- let now = Instant::now(); //are
- primes_are_forever(); //not you
- let elapsed = now.elapsed(); //for
- println!("Elapsed: {:.2?}", elapsed); //benchmarking
- }
- fn primes_are_forever() {
- println!("2");
- println!("3");
- println!("5");
- println!("7"); //this is compensating for optimisation
- let mut is_prime = true;
- let mut vector = vec![2, 3, 5, 7,11, 13, 17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149];
- let mut i: usize = 0;
- for number_that_might_be_a_prime in (5..1000000).step_by(2) {
- let where_to_end_checking: usize = vector.len() / 10 + 1; //there is less than (number/10) primes below (number), this is why I need to print first four primes
- while i < where_to_end_checking.try_into().unwrap() {
- if number_that_might_be_a_prime % vector[i] == 0 {
- is_prime = false;
- break
- }
- i = i + 1;
- }
- if is_prime == true {
- println!("{}", number_that_might_be_a_prime);
- vector.push(number_that_might_be_a_prime);
- }
- i = 0;
- is_prime = true;
- }
- }
- //old version here
- /*
- fn primes_are_forever() {
- let mut number_that_might_be_a_prime_pierwsza = true;
- let mut wektor = vec![2;1000];
- let mut i: i32 = 0;
- for number_that_might_be_a_prime in 3..100 {
- let pierwiastek_liczby: i32 = number_that_might_be_a_prime.integer_sqrt() + 1;
- while i < pierwiastek_liczby {
- let i2: i32 = number_that_might_be_a_prime % &wektor[i as usize];
- if i2 == 0 {
- number_that_might_be_a_prime_pierwsza = false;
- break
- }
- i = i + 2;
- }
- if number_that_might_be_a_prime_pierwsza == true {
- println!("{}", number_that_might_be_a_prime);
- {
- wektor[0].some_value = ;
- }
- &mut wektor[i as usize] = &mut number_that_might_be_a_prime;
- }
- i = 0;
- number_that_might_be_a_prime_pierwsza = true;
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement