Profesorul începe ora scriind pe tablă următorul şir de numere: 1 1 1 2 1 1 2 3 1 3 1 2 3 4 1 3
1 2 3 4 5 1 3 5 1 2 3 4 5 6 1 3 5 … Copiii îl întrerup şi anunţă că au găsit regula după care sunt construiţi succesiv termenii şirului, şi anume: se scrie 1 urmat de 1, apoi 1 2 urmate tot de 1, apoi 1 2 3 urmate de 1 şi 3, apoi 1 2 3 4 urmate tot de 1 şi 3 … tot aşa, la un moment dat după secvenţa 1, 2, …, k se scriu numerele impare de la 1 la k. Evident că acesta este un şir infinit. Începând numerotarea de la 1, avem, de exemplu, pe poziţia 3 valoarea 1, pe poziţia 4 valoarea 2, pe poziţia 8 valoarea 3 etc. Profesorul se bucură dar le spune la copii că pentru poziţii mari este greu de calculat în minte valorile din şir. Ştefan, elev bun la programare spune că poate scrie o sursă care să calculeze multe valori din şir.
Cerința
Dându-se o poziţie din şir se cere determinarea valorii care se află pe acea poziţie.
Dându-se o valoare, să se determine cea mai mică poziţie din şir pe care aceasta se află.
Date de intrare
De la tastatură se citesc două numere C şi V. Dacă avem C = 1, trebuie determinată valoarea de pe poziția V din șir. Dacă avem C = 2 se cere să determinăm cea mai mică poziție din șir unde avem valoarea V.
Date de ieșire
Pe ecran se va afișa un singur număr natural corespunzător rezultatului obținut pentru rezolvarea fiecărei
cerințe.
Restricții și precizări
1 ≤ C ≤ 2- Pentru 25% din punctaj,
C = 1șiV ≤ 100.000 - Pentru 25% din punctaj,
C = 1și100.000 < V ≤ 1.000.000.000 - Pentru 50% din punctaj,
C = 2și1 < V ≤ 35.000
Exemplul 1:
Intrare
1 8
Ieșire
3
Explicație
C = 1, se cere valoarea de pe poziția 8. Aceasta este 3.
Exemplul 2:
Intrare
2 3
Ieșire
8
Explicație
C = 2, se cere cea mai mică poziție pe care se află valoarea 3. Aceasta este 8.