Um número forte é um número cuja soma do fatorial dos seus dígitos é igual ao número original. Por exemplo:
145 é um número forte, pois 1! + 4! + 5! = 145.
Faça um programa em C que receba como entrada um número N e imprima se esse número é considerado forte ou não.
Respostas
Resposta:
public bool StrongNumber(int number)
. {
. int ValorFat = 0;
.
. foreach (char num in number.ToString())
. {
. int FatorialNum = 1;
.
. for (int i = (num - '0'); i > 0; i--)
. {
. FatorialNum *= i;
. }
.
. ValorFat += FatorialNum;
. }
.
. return ValorFat == number;
. }
Explicação:
Espero que ajude! Está em C#, mas pode ser útil pra vc pegar a lógica.
Para usar o foreach, tive que transformar o número em string para pegar cada char. Transformei de novo em número com a expressão (num - '0').
Dps fiz o fatorial separado de cada número pelo for , e coloquei seu resultado em FatorialNum. Depois disso fui juntando os resultados em ValorFat, e por fim comparei no return.
Se tiver alguma dúvida, pode pgtar =)