Processing math: 100%

Lista de probleme 1

Numar5

#1731
Pentru un număr dat cu k cifre c1c2ck, se numeşte algoritm de deplasare circulară spre dreapta de la o cifră iniţială ci, la o cifră finală cj, deplasarea din cifră în cifră spre dreapta de ci ori (1≤i,j≤k). Dacă pe parcursul deplasării s-a ajuns la cifra ck, se continuă deplasarea circulară spre dreapta cu cifra c1. Un număr cu k cifre se numeşte număr „circular” dacă îndeplineşte următoarele două cerinţe:
  • toate cifrele sunt nenule;
  • pornind de la cifra c1, aplicând algoritmul de deplasare circulară spre dreapta de exact k ori, se ajunge din nou la c1, fiecare dintre cifrele numărului fiind exact o singură dată cifră iniţială.
Scrieţi un program care citeşte numărul natural nenul n, apoi numerele naturale x1,x2,,xn, şi determină: a) cel mai mare număr din şir în care există cel puţin o cifră care apare de minimum două ori, iar în cazul în care în şir nu există un astfel de număr, se va afişa cel mai mare număr din şir; b) un şir a1,a2,,an de n numere naturale pentru care un element ai(1≤i≤n)se calculează astfel:
  • este egal cu xi , dacă xi este număr circular;
  • este numărul cel mai apropiat de xi (număr mai mare sau mai mic decât xi), cu proprietatea că este număr circular; dacă pentru un număr din şir se identifică un număr circular y, y>xi şi un număr circular z, z<xi, pentru care yxi = xiz, atunci se va alege numărul y.
Du-te sus!