Sari la conținut
Zece la Info
Probleme

Bacalaureat Antrenament 2020, Varianta 12, S3.3 - Termenii sirului 1..10,20,21,42,43,86...

Grea 1500 ms 64 MB#bacalaureat#2020#antrenament#subiectul3

Sirul de mai jos este definit astfel: fn=n daca n<=10, fn=2*fn-1 daca n>10 si n impar, fn=1+fn-1 altfel (n par, n>10). 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 21, 42, 43, 86....

Se citeste de la tastatura un numar natural x (x in [1,10^9]), termen al sirului dat, si se cere sa se scrie in fisierul bac.out, separati prin cate un spatiu, in ordine strict descrescatoare, toti termenii sirului mai mici sau egali cu x. Proiectati un algoritm eficient din punctul de vedere al memoriei utilizate si al timpului de executare.

Exemplu: daca valoarea citita de la tastatura este 43 se scriu in fisier numerele 43 42 21 20 10 9 8 7 6 5 4 3 2 1

Date de intrare
Se citeste x de la tastatura.
Date de iesire
Se scriu in fisierul bac.out toti termenii sirului <= x, in ordine descrescatoare.
Restrictii
1 <= x <= 10^9

Exemple

Exemplul 1

Intrare

43

Iesire

43 42 21 20 10 9 8 7 6 5 4 3 2 1

Exemplul 2

Intrare

1

Iesire

1

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.