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