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

a) Scrieti valorile afisate daca se citeste numarul 7.
b) Scrieti cel mai mic si cel mai mare numar care pot fi citite astfel incat, in urma executarii algoritmului, pentru fiecare dintre acestea, ultima valoare afisata sa fie 10.

La punctul a), la sfarsit raspunsul e: 1 2 2 3 3 3 4, dupa cum se vede si in poza.

(!) La punctul b) nu stiu cum m-as putea gandi care sunt acele valori, daca m-ati putea ajuta voi cum sa gandesc si care este raspunsul, in acelasi timp, multumesc! Dau steluta tot full, sper sa inteleg

Anexe:

boiustef: sper că am fost explicit... :)))
boiustef: dacă ceva nu e clar, mai discutăm....
boiustef: p.s. prin S aflăm numărul de termeni din şir
boiustef: Problema dată poate fi formulată astfel: Fiind dat şirul numeric
1 2 2 3 3 3 4 4 4 4 ... , determinaţi ce număr se află pe locul k
boiustef: adică are iindicele k

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

n apartine intervalului inchis [46;55]

Explicație:

ai introdus n=7 şi ai obţinut : 1 2 2 3 3 3 4, adică 7 termeni ai şirului. Dacă introduci n=16, obţii: 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6, adică 16 termeni.

Se observă că termenii pot fi grupaţi

(1)  (2 2)  (3 3 3)  (4 4 4 4)  (5 5 5 5 5) şamd

Nr de termeni in grupe este: 1 2 3 4 5 ... Deci pentru a afla suma termenilor putem folosi formula lui Gauss, S=(1+m)*m/2;

Dacă doreşti ca şirul să se termine cu 5, se poate calcula câte numere sunt în grupele: (1)  (2 2)  (3 3 3)  (4 4 4 4), după care urmează 5

Făcând suma S=(1+4)*4/2 = 10, deci al 11-lea va fi 5

Daca doreşti acum să afli indicele lui 10, tr să facem suma

S=(1+9)*9/2 = 45, deci primul 10 se va afla pe locul 46 în şir

Să aflăm pe ce loc se va afla primul 11, pentru asta calculăm S=(1+10)*10/2 = 55. Deci primul 11 se va afla pe locul 56, iar ultimul 10 pe locul 55.


paulb007: multumesc nespus!!
boiustef: cu plăcere, succese şi sănătate
paulb007: insa o scurta intrebare: daca din grupa 10 10 10 ...de 10 ori , cei 10 termeni, tu afli suma lor cu formula lui gauss sau mai concret indicele 10, care e (n(n+1))/2, de ce nu zici ca n=10 si ar veni (11*10)/2, si tu scrii ca e (10*9)/2, dc ai inceput de la n = 9 si nu n=10??
boiustef: suma lui gaus află numărul de termeni nu suma termenilor, merge vorba de grupe, în prima grupă e un termen, în a doua - 2 termeni, şamd. Şi în formula S=(1+10)*10/2 aflam câţi termen sunt în toate grupele de numere începând de la 1 la 10
boiustef: adică ce indice va avea ultimul 10 din grupa zecilor
boiustef: cu formula S=(1+9)*9/2 aflăm poziţia ultimului 9 din grupa respectivă şi dacă la S mai adăugăm 1 aflăm poziţia primului 10 din grupul yecilor
paulb007: ok mersi
Alte întrebări interesante