/* * 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); }