Sunteți pe pagina 1din 2

Un numr n se numete extraprim dac att el ct i orice numr obinut prin permutarea cifrelor lui n sunt numere prime.

De exemplu, numrul 113 este un numr extraprim deoarece 113, 311, 131 sunt numere prime. a) Scriei definiia complet a unui subprogram f, cu un parametru, subprogram care ! primete prin intermediul parametrului a un numr natural cu cel mult " cifre #a$1) ! returnea% suma exponenilor di&i%orilor primi din descompunerea 'n factori primi a &alorii parametrului a. (xemplu pentru a)*+ subprogramul &a returna &aloarea ,, deoarece a)"-3"-. i 1/"/1),. #,p.) b) Scriei declarrile de &ariabile i programul principal 0ascal care citete de la tastatur un numr natural n, "1n1**, i care determin i afiea% pe ecran, folosind apeluri utile ale subprogramului f, mesa2ul D3 dac n este un numr extraprim, altfel &a afia mesa2ul 4U. t5pe &ector)arra561..37 of 8ord9 &ar &,p &ector9 n,m,c,aux 8ord9 extraprim boolean9 function f#a 8ord) 8ord9 &ar i,nr,s 8ord9 begin s )+9 i )"9 8:ile #i;)a) and #a;$+) do begin nr )+9 8:ile #a mod i)+) and #a;$+) do begin a )a di& i9 nr )nr/19 end9 if nr;$+ t:en s )s/nr else i )i/19 end9 f )s9 end9 procedure permut#i 8ord)9

&ar 2,l,nr 8ord9 begin if i)c/1 t:en begin nr )+9 for l )1 to c do nr )nr-1+/&6p6l779 if f#nr)$1 t:en extraprim )false9 else begin p6i7 )i9 for 2 )1 to i do begin aux )p6i79p6i7 )p6279p627 )aux9 permut#i/1)9 aux )p6i79p6i7 )p6279p627 )aux9 end9 end9 end9 begin repeat 8rite#<n)=)9readln#n)9 until#n$)") and #n;)***)9 m )n9 c )+9 8:ile m;$+ do begin c )c/19 &6c7 )m mod 1+9 m )m di& 1+9 end9 if #c)3) t:en begin aux )&6179&617 )&6379&637 )aux9 end9 else if #c)") t:en begin aux )&6179&617 )&6"79&6"7 )aux9 end9 extraprim )true9 permut#1)9 if extraprim t:en 8rite#<D3=) else 8rite#<nu=)9 end.

S-ar putea să vă placă și