C++ pomoc z napisaniem programu


(system) #1

Witam chciałem napisać program ale nie wiem jak się za to zabrać

Program ma obliczyć sumę n początkowych wyrazów ciągu an= an−1(an−2 + an−3)

i podane mam a0=1 a-1=1.5 oraz a-2=2.

Nie wiem jak się za ten program zabrać i nawet nie wiem jak obliczyć N początkowych wyrazów tego ciągu na kartce papieru.

Bardzo proszę o pomoc


(Monczkin) #2

prykaz1 , nazwij proszę temat konkretnie, bez zbędnych pomocy w nazwie. Inaczej wyciągnę konsekwencje. Przeczytaj ten temat. viewtopic.php?f=16&t=394978


(Tomek Matz) #3

No masz ciąg, w którym wartość wyrazu N wyznacza się ze wzoru an= an−1*(an−2 + an−3) i podane masz:

a-2 = 2

a-1 = 1,5

a0 = 1

czyli kolejne wyrazy to:

a1 = 1 * (1,5 + 2) = 3,5

a2 = 3,5 * (1 + 1,5) = 8,75

a3 = 8,75 * (3,5 + 1) = 39,375

.

.

.

itd.

a suma N początkowych wyrazów tego ciągu to będzie suma wszystkich jego wyrazów od a1 aż do aN

czyli musisz napisać program, który będzie miał jeden parametr wejściowy, a mianowicie liczbę N (liczba wyrazów w ciągu, które mają zostać zsumowane),

czyli jeśli podane zostanie przez użytkownika, że N = 3 to program ma zwrócić, że:

suma = a1 + a2 + a3 = 3,5 + 8,75 + 39,375 = 51,625


([alex]) #4

A(0)=1; A(-1)=1.5; A(-2)=2;

A(n) = A(n−1)*(A(n−2)+A(n−3))

wiec:

A(1) = A(0)*(A(-1)+A(-2)) = 1*(1,5+2) = 3,5; Suma(1..1)=3,5

A(2) = A(1)*(A(0)+A(-1)) = 3,5*(1+1,5) = 8,75; Suma(1..2)=12,25

A(3) = A(2)*(A(1)+A(0)) = 8,75*(3,5+1) = 39,375; Suma(1..3)=51,625

A(4) = A(3)*(A(2)+A(1)) = 39,375*(8,75+3,5) = 482,34375; Suma(1..4)=533,96875

A(5) = A(4)*(A(3)+A(2)) = 482,34375*(39,375+8,75) = 23212,79296875; Suma(1..5)=23746,76171875

A(6) = A(5)*(A(4)+A(3)) = 23212,79296875*(482,34375+39,375) = 12110549,331665; Suma(1..6)=12134296,0933838

i tak dalej.


(Tomek Matz) #5

:stuck_out_tongue:


([alex]) #6

Właśnie zauważyłem, i poprawiłem :smiley:

Nie wiem nawet jak mi się tak sprytnie policzyło :lol: