Titlul: Problema clasa 9 intensiv Scris de: Tanase Marian din Octombrie 14, 2013, 22:03:28 Am o problema care zice ca se da un sir de nr de genu' 1, 1,2, 1,2,3 , 1,2,3,4 etc... si se citeste un nr N de la tastatura.Sa se scrie al N-lea numar din sirul de mai sus.
EX: pentru n=3 sa se afiseze 2 pentru n=6 sa se afiseze 3. Mi-am batut capu 2 ore la ea si nu inteleg ce sa ii fac...ma puteti ajuta cu niste sfaturi sau instructiuni? direct in c++ Titlul: Răspuns: Problema clasa 9 intensiv Scris de: George Marcus din Octombrie 14, 2013, 22:13:16 Pai generezi sirul si cand ai ajuns la al N-lea element te opresti. Daca ai probleme la generarea sirului, ai nevoie doar de x=pana la cat merge secventa curenta (pentru 1,2,3, x=3) si la al catelea element esti.
Titlul: Răspuns: Problema clasa 9 intensiv Scris de: Rares Cheseli din Octombrie 14, 2013, 22:25:55 Asa iti generezi termenii sirului
Cod: #include <iostream> Titlul: Răspuns: Problema clasa 9 intensiv Scris de: Tanase Marian din Octombrie 16, 2013, 21:57:05 Nu merge generat asa pentru ca siru este gata generat cum s'ar zice..adica nu se citeste un N pentru generarea sirului si dupa sa mearga pana la N...sirul este asa pana la infinit iar eu trb sa gasesc elementu N care poate fi si 1512 :-??
Titlul: Răspuns: Problema clasa 9 intensiv Scris de: Alexandru Valeanu din Octombrie 16, 2013, 22:20:07 O sa incerc sa-ti explic pe exemplu si te prinzi tu de generalizare. In primul rand se observa ca ai grupe de 1,2,3,4,...m,... elemente deci poti afla in ce grupa se afla al n-elea cautat.
Deci N = 6 si cauti grupa de forma x*(x+1)/2 = N. x*(x+1)/2 = 6; x2 + x - 12 = 0; x1,2 = (-1 +- rad(49))/2 Tu ai nevoie doar de solutia pozitiva deci x = (-1+7)/2 = 3. Rezulta ca N se afla in grupa a treia...deci are 2 grupe in fata. Astfel poti determina pozitia sa in grupa scazand din el cate elemente se afla inaintea lui in sir adica 2*3/2 ( = nr_grupe*(nr_grupe+1)/2 ). Deci 6 - 3 = 3 rezultatul cautat. Sper ca ai inteles cat de cat cum se rezolva. Succes! Titlul: Răspuns: Problema clasa 9 intensiv Scris de: Petronel Catalin Joldescu din Octombrie 28, 2013, 21:10:08 Mi se pare o problema foarte interesanta... m-am prins dupa cateva exemple cam cum se face... insa nu stiu daca sunt foarte explicit. Daca scrii primele 20-30 de elemente pe o foaie o sa observi ca prima aparitie a unui numar i se va afla pe pozitia i(i-1)/2+i. De aici mai departe nici nu stiu cum sa iti explic :| dar iti spun: scrie pe o foaie cateva numere si sigur o sa te prinzi. Uite un programel pe care l-am realizat eu, insa i se plimba de la 1 pana la 10^7 ( ii poti schimba tu valoarea).
Cod: #include <iostream> |