Ir ao conteúdo

C Exibir fatorial como notação Matematica


Ir à solução Resolvido por Visitante,

Posts recomendados

Postado

Olá, boa noite, eu preciso implementar um recurso no meu programa para a faculdade e esse recurso tem que ser a exibição do fatorial de um número em notação matematica, deve ser logo abaixo da mensagem informativa, exemplo usando o fatorial de 5:

 

tem que exibir isso:

O fatorial de 5 é 120            //essa primeira parte eu consigo exibir

5! é igual a 5.4.3.2.1 é igual a 120    // essa segunda parte eu não sei como implementar no código,

 

aqui vai o código:

#include <stdio.h>

int main ()
{
        int A=0, auxiliar, fat=0;
        printf("\n");
        printf("**O fatorial de um número natural é o produto\n desse número por todos os menores**");
        printf("\nDigite aqui o número para calcular seu fatorial: ");
        scanf("%d", &A);
        auxiliar = A;
        for (fat = 1; A>1; A = A-1)
        {
            fat = (fat*A);
        }
        printf("O fatorial de %d é %d.", auxiliar, fat);  //Aqui é exibido a mensagem: O fatorial de 5 é 120, preciso exibir na 
                                                          //Linha de baixo a notação matematica Exemplo: 5! é igual a 5.4.3.2.1
}

 

  • Solução
Postado

Vou te dar um exemplo mas sem lhe dar resposta do problema.

Exemplo:

Vamos supor que você queira mostra a seguinte mensagem: "aqui jas 1 malandro"

Pra imprimir essa mensagem basta fazer algo assim:
printf("Aqui jas %d malandro\n", 1);//onde tiver o %d vai colocar o 1 e \n é pra pular pra outra linha

Agora vamos supor outra coisa, suponha que agora você queira imprimir: "aqui jas 1, 2, 3, 4, 5 malandros"

Pra fazer isso você precisa primeiro detectar o padrão recorrente na frase. Digo, o que se repete al?

você poderia simplesmente imprimir com:
printf("aqui jas %d, %d, %d, %d, %d malandros\n", 1, 2, 3, 4, 5);

Observe que é uma quantidade fixa de números e você poderia usar um for:

printf("Aqui jas ");//sem pular linha com \n

for (int i = 1; i <= 5; i++) {

  printf("%d,", i);//imprime o valor de i

}

printf(" malandros\n");//agora coloca a string no final da saída e pula uma linha
Mas, e se a quantidade de números for variável? Como fará pra imprimir?

Bastaria apenas modificar o for com algum outro valor, tipo:

int outroValor = 100;

printf("Aqui jas ");
for (int i = 1; i <= outroValor; i++){

  printf("%d,", i);//imprime o valor de i

}

printf(" malandros\n");//agora coloca a string no final da saída e pula uma linha

 

Observe que, para imprimir 1,2,3,4,5...100 foi preciso colocar um printf("%d,"i); dentro das chaves do for

e assim o for repetiu o bloco de chaves 100 vezes nesse último exemplo.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...