Advertisement
Guest User

Untitled

a guest
Nov 25th, 2021
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 1.93 KB | None | 0 0
  1. use std::convert::TryInto;
  2.  
  3. fn main() {
  4.     use std::time::Instant;   //those
  5.     let now = Instant::now(); //are
  6.    
  7.     primes_are_forever(); //not you
  8.    
  9.     let elapsed = now.elapsed(); //for
  10.     println!("Elapsed: {:.2?}", elapsed); //benchmarking
  11. }
  12.  
  13. fn primes_are_forever() {
  14.     println!("2");
  15.     println!("3");
  16.     println!("5");
  17.     println!("7"); //this is compensating for optimisation
  18.     let mut is_prime = true;
  19.     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];
  20.     let mut i: usize = 0;
  21.     for number_that_might_be_a_prime in (5..1000000).step_by(2) {
  22.         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
  23.         while i < where_to_end_checking.try_into().unwrap() {
  24.             if number_that_might_be_a_prime % vector[i] == 0 {
  25.                 is_prime = false;
  26.                 break
  27.             }
  28.             i = i + 1;
  29.         }
  30.         if is_prime == true {
  31.             println!("{}", number_that_might_be_a_prime);
  32.             vector.push(number_that_might_be_a_prime);
  33.         }
  34.         i = 0;
  35.         is_prime = true;
  36.     }
  37. }
  38.  
  39.  
  40.  //old version here
  41.  
  42.  /*
  43.  
  44. fn primes_are_forever() {
  45.     let mut number_that_might_be_a_prime_pierwsza = true;
  46.     let mut wektor = vec![2;1000];
  47.     let mut i: i32 = 0;
  48.     for number_that_might_be_a_prime in 3..100 {
  49.         let pierwiastek_liczby: i32 = number_that_might_be_a_prime.integer_sqrt() + 1;
  50.         while i < pierwiastek_liczby {
  51.             let i2: i32 = number_that_might_be_a_prime % &wektor[i as usize];
  52.             if i2 == 0 {
  53.                 number_that_might_be_a_prime_pierwsza = false;
  54.                 break
  55.             }
  56.             i = i + 2;
  57.         }
  58.         if number_that_might_be_a_prime_pierwsza == true {
  59.             println!("{}", number_that_might_be_a_prime);
  60.             {
  61.                 wektor[0].some_value = ;
  62.                
  63.                
  64.                
  65.             }
  66.             &mut wektor[i as usize] = &mut number_that_might_be_a_prime;
  67.         }
  68.         i = 0;
  69.         number_that_might_be_a_prime_pierwsza = true;
  70.     }
  71.    
  72.    
  73. }
  74. */
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement