fn simple() -> i32 {
42
}
fn moderate_complexity(x: i32) -> i32 {
if x > 10 {
if x > 20 {
x * 2
} else {
x + 5
}
} else {
x - 3
}
}
fn high_complexity(numbers: &[i32]) -> i32 {
let mut sum = 0;
for num in numbers {
if *num > 0 {
if *num % 2 == 0 {
sum += *num * 2;
} else {
if *num > 10 {
sum += *num + 1;
} else {
sum += *num;
}
}
} else if *num < 0 {
match *num {
-1 => sum -= 1,
-2 => sum -= 2,
_ => sum -= 10,
}
}
}
sum
}
fn factorial(n: u32) -> u32 {
if n <= 1 {
1
} else {
n * factorial(n - 1)
}
}