Solution 6

This commit is contained in:
Fabian Schmidt 2024-09-16 12:42:55 +02:00
parent 3302b9d48b
commit 3f8589d3e0

43
src/bin/problem_6.rs Normal file
View 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);
}
}