aboutsummaryrefslogtreecommitdiff
path: root/rust/005-smallest_multiple.rs
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-05-21 12:16:03 +0200
committerCharles <sircharlesaze@gmail.com>2020-05-21 12:16:03 +0200
commitfec9192bf1494a0180ec31388281667c132b7ee6 (patch)
tree1533f2081cc6c8919a9030db8cfd056efcc6cbd1 /rust/005-smallest_multiple.rs
parentec28f3d2a263440b167b2ae44033f2eae5bab88c (diff)
downloadproject_euler-fec9192bf1494a0180ec31388281667c132b7ee6.tar.gz
project_euler-fec9192bf1494a0180ec31388281667c132b7ee6.tar.bz2
project_euler-fec9192bf1494a0180ec31388281667c132b7ee6.zip
problem 4 5 in rust
Diffstat (limited to 'rust/005-smallest_multiple.rs')
-rw-r--r--rust/005-smallest_multiple.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/rust/005-smallest_multiple.rs b/rust/005-smallest_multiple.rs
new file mode 100644
index 0000000..ce671f9
--- /dev/null
+++ b/rust/005-smallest_multiple.rs
@@ -0,0 +1,34 @@
+/*
+* Smallest multiple
+* Problem 5
+*
+* 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
+* What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
+*/
+
+fn main() {
+ let mut end = false;
+ let mut n = 2;
+
+ // note to self: iterator are really slow 11s vs 1s without them.
+ loop {
+
+ let mut d = 3;
+ while d <= 20 {
+ if n % d != 0 {
+ end = false;
+ break;
+ } else {
+ end = true;
+ }
+ d += 1;
+ }
+
+ if end {
+ println!("{}", n);
+ break;
+ }
+
+ n += 2;
+ }
+}