Új hozzászólás Aktív témák

  • SKFA

    csendes tag

    Üdv ismét!
    Nagyjából sikerült megérteni a feladatot, a következőképpen hangzana:

    Ez a feladat szövege: Az e kiszámolása (ex=1+x+x2/2!+x3/3!+...) adott pontossággal (input). Az exp() nem használható .
    Input: pontosság (>10E-15)
    Output: Az e a kért pontossággal.

    Ha jól értelmezem, akkor
    ha input=7, akkor ezt a műveletsort hajtaná végre:
    e=2+(1/2!)+(1/3!)+(1/4!)+(1/5!)+(1/6!)+(1/7!), és kiírná e-t.
    Ha input=3, akkor ezt:
    e=2+(1/2!)+(1/3!), és kiírná e-t.

    #include <stdio.h>
    #include <math.h>

    int faktorialis(int n){
    if(n==1) return 1;
    return (n * faktorialis(n-1));
    }


    int eszam(){
    int h, p=0, i=0;
    double e=2.0;

    printf("Adja a meg a kivant pontossagot!\n");
    scanf("%d", &p);
    if (p<0)
    printf("Csak pozitiv egesz szam fogadhato el!");
    else
    for (i=2; i<p; i++) {
    e+=1/faktorialis(p);

    }
    return e;
    }

    int main(){
    printf("\nVegeredmeny:%e",eszam());
    return 0;
    }

    Idáig jutottam, már abszolút nincs ötletem hogyan tovább. Így a program nem működik, 1.6-ot ad eredményül, többek között ezt sem tudom miért. Estére viszont be kellene adnom, különben csúszok egy évet.
    Valaki tud, segítsen. Előre is köszönöm!

Új hozzászólás Aktív témák