We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 8ff18f5 commit 6c56ad1Copy full SHA for 6c56ad1
src/rust/fatorial_recursiva.rs
@@ -11,22 +11,23 @@
11
12
// Para realizar uma fatoração com recursão basta fazer o retorno
13
// de uma função ser valor * a propia função recebendo valor - 1
14
-fn fatorial(valor: usize) -> usize {
+fn fatorial(valor: u128) -> u128 {
15
// Para que não chege a multiplicar por 0 quando chegamos a 1 ou 0
16
// é retornado 1 para que o utlimo valor sejá multilpicado por 1
17
- if valor <= 1 {
18
- return 1;
+ match valor {
+ 0 | 1 => 1,
19
+ 2.. => valor * (fatorial(valor - 1)),
20
}
- return valor * (fatorial(valor - 1));
21
22
23
fn main() {
24
- println!("{}", fatorial(10));
+ println!("{}", fatorial(21));
25
26
27
#[cfg(test)]
28
mod test {
29
use super::*;
30
+ #[test]
31
fn teste_fatorial() {
32
assert_eq!(fatorial(0), 1);
33
assert_eq!(fatorial(1), 1);
0 commit comments