12.5.2. Napisati program koji će za učitanu vrijednost N izračunati vrijednost izraza i ispisati:
Opis rješenja: Kod prve varijante koristi se varijabla znak za promjenu predznaka (znak := -znak;).
Listing programa:
//Zadatak 12501032//
I Varijanta
#include <stdio.h>
int main ()
{
int i, k, n;
double s, p, s1, s2;
printf("Keficijent: ");
scanf("%d", &k);
printf("Do broja n: ");
scanf("%d", &n);
s1 = 0; // pocetna vrijednost sume neparnih - pozitivni
s2 = 0; // pocetna vrijednost sume parnih - negativni
p = 1; // pocetna vrijednost proizvod
for(i=1; i <= n; ++i) { // ponavljanje za i=1 do i=n - pocetak petlje
p = p * i; // proizvod - p *= i;
if (i % 2 == 0) // djeljivi sa 2 - parnin
s2 = s2 + k * p; // suma parnih - negativni
else
s1 = s1 + k * p; // suma neparnih - pozitivni
}
s = s1 - s2; // razlika suma
printf("Suma faktorijela: %f", s);
return 0;
}
II Varijanta
#include <stdio.h>
int main ()
{
int i, k, n, znak;
double s, p, s1, s2;
printf("Keficijent: ");
scanf("%d", &k);
printf("Do broja n: ");
scanf("%d", &n);
s = 0; // pocetna vrijednost sume
p = 1; // pocetna vrijednost proizvod
znak = 1; // pocetna vrijednost znaka 1
for(i=1; i <= n; ++i) { // ponavljanje za i=1 do i=n - pocetak petlje
p = p * i; // p *= i;
s = s + znak * k * p; // s += znak * k * p;
znak = -znak; // znak *= -1; mijenja se predznak
} // kraj petlje
printf("Suma faktorijela: %f", s);
return 0;
}
Ispis na ekranu:
Index
|
|