Lista de probleme 2

#979 Alice

Într-o zi frumoasă de vară, Alice se juca în parc. Deodată, văzu un iepure cu ceas, numit Iepurele Alb, sărind grăbit în scorbura unui copac. Curioasă, Alice îl urmări şi sări şi ea în scorbură. Spre mirarea ei, ajunse într-o sală mare cu N uşi încuiate. Pe fiecare uşă era scris câte un număr natural. Într-o clipă, lângă ea apăru Iepurele Alb şi-i spuse că doar uşile cu numere magice pot fi deschise dacă are cheile potrivite. Pentru a o ajuta, Iepurele Alb i-a explicat că un număr magic este un număr natural care poate fi redus la o cifră prin complementarea cifrelor acestuia faţă de cifra sa maximă din scrierea zecimală, apoi prin complementarea cifrelor numărului obţinut faţă de cifra sa maximă şi aşa mai departe până când se obţine o cifră. Evident, nu toate numerele naturale sunt numere magice. De exemplu, uşa cu numărul 1234 poate fi deschisă cu cheia inscripţionată cu cifra 1 deoarece 1234 este un număr magic ce poate fi redus la cifra 1 prin complementări repetate (1234→3210→123→210→12→10→1), iar uşa cu numărul 1204 nu poate fi deschisă deoarece 1204 nu este un număr magic (indiferent de câte ori s-ar repeta complementarea nu poate fi redus la o cifră: 1204→3240→1204→3240→1204 ... ).

Înainte să dispară, Iepurele Alb îi dădu o cheie aurie inscripţionată cu cifra K şi o avertiză că poate deschide cu această cheie doar uşile cu numere magice ce pot fi reduse la cifra K.

Scrieţi un program care să citească numerele naturale N, K şi cele N numere naturale scrise pe cele N uşi, şi care să determine:

a) cel mai mare număr par dintre numerele scrise pe cele N uşi;
b) numărul uşilor care pot fi deschise cu cheia aurie inscripţionată cu cifra K.

#1060 Porumb

Locuitorii planetei Agria, numiţi agri, au hotărât ca în celebrul an 2012 să le explice pământenilor cum trebuie cules „eficient” un rând cu n porumbi, numerotaţi, în ordine, cu 1, 2, 3,..., n.

Cei n porumbi sunt culeşi de mai mulţi agri. Primul agri merge de-a lungul rândului, plecând de la primul porumb şi culege primul porumb întâlnit, al treilea, al cincilea şi aşa mai departe până la capătul rândului.

Atunci când ajunge la capătul rândului, porneşte al doilea agri şi culege porumbi respectând aceeaşi regulă ca şi primul agri.

Metoda se repetă până când toţi porumbii sunt culeşi.

Pământeanul Ionel încearcă să descopere ce ascunde această metodă şi se gândeşte câţi porumbi culege primul agri, câţi agri culeg un rând cu n porumbi, la a câta trecere este cules porumbul cu numărul x şi care este numărul ultimului porumb cules.

Exemplu: Dacă pe un rând sunt n=14 porumbi atunci sunt 4 agri care culeg porumbii:






  • primul agri culege porumbii 1,3,5,7,9,11,13;
  • al doilea agri culege porumbii 2,6,10,14;
  • al treilea agri culege porumbii 4 şi 12;
  • ultimul agri culege porumbul 8.


Pentru a-l ajuta pe Ionel să descopere secretul acestei metode, scrieţi un program care citeşte cele două numere naturale n şi x şi care determină:

a) numărul de porumbi culeşi de primul agri;
b) numărul de agri care culeg şirul de n porumbi;
c) numărul trecerii la care este cules porumbul cu numărul x;
d) numărul ultimului porumb cules.