Solution 6
This commit is contained in:
parent
3302b9d48b
commit
3f8589d3e0
43
src/bin/problem_6.rs
Normal file
43
src/bin/problem_6.rs
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
fn main() {
|
||||||
|
let result = smallest_multiple(20);
|
||||||
|
println!("Result: {}", result);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn smallest_multiple(number: i64) -> i64 {
|
||||||
|
let factorial = factorial(number);
|
||||||
|
for i in number..=factorial {
|
||||||
|
if is_multiple(i, number) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return factorial;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn is_multiple(number: i64, range: i64) -> bool {
|
||||||
|
for i in 2..=range {
|
||||||
|
if number % i != 0 {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
true
|
||||||
|
}
|
||||||
|
|
||||||
|
fn factorial(n: i64) -> i64 {
|
||||||
|
let mut result = 1;
|
||||||
|
for i in 1..=n {
|
||||||
|
result *= i;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use crate::smallest_multiple;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn it_works() {
|
||||||
|
let result = smallest_multiple(10);
|
||||||
|
assert_eq!(result, 2520);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user