Pentru un număr dat cu
k
cifre , se numeşte algoritm de deplasare circulară spre dreapta de la o cifră iniţială , la o cifră finală , deplasarea din cifră în cifră spre dreapta de ori (
1≤i,j≤k
). Dacă pe parcursul deplasării s-a ajuns la cifra , se continuă deplasarea circulară spre dreapta cu cifra .
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 , aplicând algoritmul de deplasare circulară spre dreapta de exact
k
ori, se ajunge din nou la , 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 , ş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 de
n
numere naturale pentru care un element (
1≤i≤n
)se calculează astfel:
- este egal cu , dacă este număr circular;
- este numărul cel mai apropiat de (număr mai mare sau mai mic decât ), cu proprietatea că este număr circular; dacă pentru un număr din şir se identifică un număr circular
y
, şi un număr circular z
, z<
, pentru care =
, atunci se va alege numărul y
.