From ec28f3d2a263440b167b2ae44033f2eae5bab88c Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 21 May 2020 11:42:33 +0200 Subject: problem 1 2 3 in rust --- rust/003-largest_prime_factor.rs | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 rust/003-largest_prime_factor.rs (limited to 'rust/003-largest_prime_factor.rs') diff --git a/rust/003-largest_prime_factor.rs b/rust/003-largest_prime_factor.rs new file mode 100644 index 0000000..2b84df1 --- /dev/null +++ b/rust/003-largest_prime_factor.rs @@ -0,0 +1,39 @@ +/* +* Largest prime factor +* Problem 3 +* +* The prime factors of 13195 are 5, 7, 13 and 29. +* What is the largest prime factor of the number 600851475143 ? +*/ + +// fn is_prime(n: u64) -> bool { +// if n == 2 || n == 3 || n == 5 || n == 7 { +// return true; +// } +// if n % 2 == 0 || n % 3 == 0 { +// return false; +// } +// +// for i in (6..n).step_by(6) { +// if n % (i - 1) == 0 || n % (i + 1) == 0 { +// return true; +// } +// } +// return false; +// } + +fn main() { + let mut target: u64 = 600851475143; + let mut n: u64 = 2; + let mut last = 0; + + while target > 1 { + if target % n == 0 { + last = n; + target /= n; + n = 2; + } + n += 1; + } + println!("{}", last); +} -- cgit