AndinhoJp 0 Denunciar post Postado Agosto 16, 2014 Boa noite pessoal, Estou tentando resolver um exercício que está impossivel. O exercício pede para que faça um programa que receba o valor de X e o número de termos desejados e que seja obtenha o valor do termo: S= 1 + X²/3! - X³/4! + X⁴/5! - X⁵/6! + X⁶/7! ... Eu tentei fazer o programa dessa maneira: #include<stdio.h>#include<math.h>int main(void){ int a; while(a=50) { int x, ter, k, exp, i2; float fat=1 , con, con2, con3; printf("Digite o valor de X:"); scanf("%d", &x); printf("Digite o numero de termos:"); scanf("%d", &ter); for(k=3 , exp=2 ;k<=ter, exp<=ter;k++, exp++) { fat = fat*k; } if(exp % 2 == 0){ con = (pow(x,exp))/fat; }else{if(exp % 2 != 0){ con2 = -(pow(x,exp))/fat; }} con3 =(pow(x,exp))/fat; printf("O fatorial e de %f\n", fat); printf("O expoente e: %d\n", exp); printf("Resultado: %f\n", con3); } return 0;} Entretanto, como vocês podem notar, não estou conseguindo realizar um raciocínio lógico correto para resolver o problema do fatorial que deveria começar com 3! e não com 1!, como mostra no código a cima. Então, será que alguem poderia me dar uma luz para tentar resolver esse problema que dura 3 dias?? Obs. Eu pedi para imprimir o "fat" e o "exp" apenas para saber se estava tudo certo com a conta. Obs. 2. ignorem o while, coloquei ele apenas para testar o programa repetidamente. Obs. 3. Para X = 1 e numeros de termos = 1, o resultado deve ser 1,166666667 e X = 1 e numeros de termos = 2, o resultado deve ser 1,125, e assim por diante. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Agosto 16, 2014 #include <stdio.h> int main(void) { double total = 1.0; double x, fatorial, potencia; int n_termos,i; scanf("%d",&n_termos); scanf("%f", &x); fatorial = 6.0; potencia = x*x; for(i=2;i<=n_termos;i++) { total += (potencia/fatorial); potencia *= x; fatorial *= (i+2); } printf("%.2f",total); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites