Skip to content

Commit

Permalink
Added rust solution for #3
Browse files Browse the repository at this point in the history
  • Loading branch information
x10an14 committed Sep 18, 2018
1 parent f7798d3 commit 8c08ade
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
4 changes: 4 additions & 0 deletions project_euler/3/rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions project_euler/3/rust/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[package]
name = "rust"
version = "0.1.0"
authors = ["x10an14 <[email protected]>"]

[dependencies]
25 changes: 25 additions & 0 deletions project_euler/3/rust/src/main.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

fn largest_prime_factor(mut number: u64) -> u64 {
let mut highest_prime_factor = 1;
while number % 2 == 0 {
highest_prime_factor = 2;
number /= 2;
}

for n in 3..(number as f64).sqrt().floor() as u64 {
while number % n == 0 {
highest_prime_factor = n;
number /= n;
}
}

if highest_prime_factor == 1 {
highest_prime_factor = number;
}

return highest_prime_factor;
}

fn main() {
println!("{}", largest_prime_factor(600851475143));
}

0 comments on commit 8c08ade

Please sign in to comment.