• Matéria: Informática
  • Autor: EmanuelRAIAN2019
  • Perguntado 7 anos atrás

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

respondido por: sthefanycristovam
1

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 =)

Perguntas similares