faca um programa que leia um numero natural e, caso o numero seja par, mostre seu fatorial, e caso seja impar, mostre o somatorio de todos os numeros entre 1 e o numero digitado. O codigo deve estar identado e comentado . São proibidos os comandos (i.e não e permitido utilizar o comando "Mod")
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//CRIAR VARS
int num, fat, soma, cont;
//DEFINIR VALORES INICIAIS DAS VARS
num = fat = soma = cont = 0;
//INICIALIZAR
printf("\n\n INSIRA UM NUMERO NATURAL: ");
fflush(stdin);
scanf("%d", &num);
while(num <= 0)
{
printf("\n NUMERO INVALIDO...INSIRA UM NUMERO SUPERIOR A 0.");
printf("\n\n\n INSIRA UM NUMERO NATURAL: ");
fflush(stdin);
scanf("%d", &num);
}
system("cls");
//CALCULAR E MOSTRAR FATORIAL SE O NÚMERO FOR PAR
if(num % 2 == 0)
{
printf("\n\n ====================");
printf("\n || FATORIAL DE %d ||",num);
printf("\n ====================\n\n");
cont = fat = num;
while(cont >= 1)
{
if(cont > 1)
printf(" %d *",cont,fat);
else
printf(" %d = %d.",cont,fat);
cont--;
fat = fat * cont;
}
}
//CALCULAR SOMATÓRIO SE O NÚMERO FOR ÍMPAR
else
{
cont = soma = 1;
printf("\n\n ==========================");
printf("\n || SOMATORIO DE 1 AO %d ||",num);
printf("\n ==========================\n\n");
while(num >= cont)
{
if(num > cont)
printf(" %d +",cont);
else
printf(" %d = %d.",cont,soma);
cont++;
soma = soma + cont;
}
}
printf("\n\n");
return 0;
}
Espero ter ajudado, abraço e bons estudos!