Informatică, întrebare adresată de alexandrubenta, 8 ani în urmă

scrieţi un algoritm în pseudocod care să determine n astfel încât 1+5+9+...+n=231

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

intreg i = 1

intreg n

intreg s = 1

cat timp (s <> 231) executa

   i = i + 1

   s = s + 4 * i - 3

sfarsit_cat_timp

n = 4 * i - 3

scrie n

Dupa rulare, valoarea afisata este 41

Matematic vorbind, e o progresie aritmetica:

 (a_n)_{n\geq 1}, a_1 = 1\:si\:r = 4

Folosesc m in loc de n la urmatoarele formule sa nu se incurce cu n care trebuie aflat.

Suma primilor m termeni:

 S_m = \frac{m(a_1+a_m)}{2}

Formula generala a unui termen in progresia aritmetica:

 a_m = a_1 + r\cdot (m-1). Inlocuind in suma:

 S_m = \frac{m(a_1 + a_1 + r\cdot (m - 1))}{2} = \frac{m(2a_1 + r\cdot (m-1))}{2}

Acum inlocuind a_1 si r

S_m = \frac{m(2\cdot 1 + 4\cdot(m-1))}{2} = \frac{2m(1 + 2\cdot (m-1))}{2} = m(1 + 2\cdot (m-1)) = m(1 + 2m - 2) = m(2m - 1) = 2m^2 - m

Acum din egalare:

2m^2 - m = 231 \\ 2m^2 - m - 231 = 0\\ \Delta = 1 + 8\cdot 231 = 1 + 1848 = 1849 \Rightarrow \sqrt{\Delta} = 43

Si solutiile sunt m_{1,2} = \frac{1\pm43}{4}

Ne intereseaza doar valoarea pozitiva, asa ca  m = \frac{1 + 43}{4} = \frac{44}{4} = 11

Si n pe care l-am aflat este: n = a_m = a_{11} = 1 + 4\cdot 10 = 1 + 40 = 41.

Alte întrebări interesante