Zadatak „e-ksplodirajući rast”¶
Section author: Petar Marić <petarmaric@uns.ac.rs>
Učitati broj članova reda (n
) a zatim odrediti približnu vrednost e
primenom sledeće matematičke formule:
\[e \approx \sum_{i=0}^{n-1} \frac{1}{i!} = \frac{1}{0!} + \frac{1}{1!} + \frac{1}{2!} + \cdots + \frac{1}{(n-1)!}\]
Ograničenja:
- sprovesti zaštitu unosa nad podatkom
n
- sve realne promenljive trebaju biti tipa
double
- ne koristiti promenljive tipa niz
Za sledeće ulazne podatke:
Unesite broj clanova reda: 5
očekivani izlaz je u sledećem formatu:
clan[i=0] = 1.000000
clan[i=1] = 1.000000
clan[i=2] = 0.500000
clan[i=3] = 0.166667
clan[i=4] = 0.041667
e = 2.708333
Primer rešenja¶
#include <stdio.h>
#include <math.h>
int main() {
int n;
do {
printf("Unesite broj clanova reda: ");
scanf("%d", &n);
} while(n<1);
int i, j;
double brojilac, imenilac, clan;
double sum = 0;
for(i=0; i<n; i++) {
brojilac = 1;
double fakt = 1;
for(j=2; j<=i; j++) {
fakt *= j;
}
imenilac = fakt;
clan = brojilac/imenilac;
printf("clan[i=%d] = %lf\n", i, clan);
sum += clan;
}
printf("\ne = %lf\n", sum);
return 0;
}