Ir para conteúdo
Fórum Script Brasil

Matheus Gomes

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Matheus Gomes

Matheus Gomes's Achievements

0

Reputação

  1. Comecei a estudar C a algumas semanas e estou participando como voluntário de um projeto onde recebi algumas listas para treinar o C. Duas questões, particularmente uma, me chamou atenção (a 5ª) onde eu tenho q fazer a série de cima só que agora os números são fatoriais. Acontece que, pelos meus cálculos de iniciante na área, consegui achar o caminho certo para resolver a série com qualquer 'N' mas quando eu teste a partir do N=4 o programa dá erro, até o N=3 ele resolve certinho. Tentei trocar float por double, porque podia ser muitos bits depois da virgula mas não vai, não sei se errei em algo ou se falta algo, podem tentar descobrir? Os dois códigos, respectivamente, são esses: #include <stdio.h> float serie(float x) { if(x<=0) return 0; if(x==1) return 1; else return ((1/x)+(serie(x-1))); } main() { float x; scanf("%f",&x); printf("%f",serie(x)); return 0; } #include<stdio.h> //E=1+(1/1!)+(1/2!)+(1/3!)+...+(1/n!) float fatorial(float x) { if(x<=0) return 0; if(x==1) return 1; else return x*fatorial(x-1); } float serie(float x) { if(x<=0) return 0; if(x==1) return 1; else return ((1/fatorial(x))+(serie(fatorial(x-1)))); } main() { float x; scanf("%f",&x); printf("%f",serie(x)+1); return 0; }
×
×
  • Criar Novo...