From a73b6dc300b86821d941a3d8e2a130834e9eafb0 Mon Sep 17 00:00:00 2001 From: clonbg Date: Thu, 15 Jun 2023 13:24:38 +0200 Subject: [PATCH] reto04 --- ejercicios/reto04/Cargo.toml | 8 +++++ ejercicios/reto04/src/main.rs | 65 +++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 ejercicios/reto04/Cargo.toml create mode 100644 ejercicios/reto04/src/main.rs diff --git a/ejercicios/reto04/Cargo.toml b/ejercicios/reto04/Cargo.toml new file mode 100644 index 0000000..df07037 --- /dev/null +++ b/ejercicios/reto04/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "reto04" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/ejercicios/reto04/src/main.rs b/ejercicios/reto04/src/main.rs new file mode 100644 index 0000000..75150ce --- /dev/null +++ b/ejercicios/reto04/src/main.rs @@ -0,0 +1,65 @@ +/* + * Escribe un programa que, dado un número, compruebe y muestre si es primo, fibonacci y par. + * Ejemplos: + * - Con el número 2, nos dirá: "2 es primo, fibonacci y es par" + * - Con el número 7, nos dirá: "7 es primo, no es fibonacci y es impar" + */ + +fn esprimo(numero: i32) -> bool { + if numero == 0 || numero == 1 { + return false; + } else { + for i in 2..numero { + if numero % i == 0 { + return false; + } + } + return true; + } +} +fn esfibonacci(numero: i32) -> bool { + let mut vector_numeros = vec![0, 1]; + let mut suma = vector_numeros[0] + vector_numeros[1]; + while suma < numero { + vector_numeros.push(suma); + vector_numeros.drain(0..1); + suma = vector_numeros[0] + vector_numeros[1]; + if suma > numero { + return false; + } + if suma == numero { + return true; + } + } + return false; +} + +fn espar(numero: i32) -> bool { + if numero % 2 == 0 { + return true; + } else { + return false; + } +} + +fn main() { + let num = 200; + let mut texto = String::new(); + texto += &num.to_string(); + if esprimo(num) { + texto += " es primo"; + } else { + texto += " no es primo"; + } + if esfibonacci(num) { + texto += ", fibonacci"; + } else { + texto += ", no es fibonacci"; + } + if espar(num) { + texto += " y es par"; + } else { + texto += " y es impar"; + } + println!("{}", texto); +}