Cele mai bune solutii pentru problema "Numar Curios"
(ziua1, problema2)


Punctaj Maxim : 30 puncte

Solutii :
Sabau Florin - Caras Severin
Marina Constantin - Alba - 30 puncte;
Nechita Onu - Olt - 30 puncte;
Patrascu Mihai - Dolj - 30 puncte;
Balan Horia - Bihor - 30 puncte;
Trifan Ionut - Buzau - 30 puncte;
Stan Bogdan - Prahova - 30 puncte;
Pandia Ilie - Valcea - 30 puncte;
Badita Robert - Dolj - 30 puncte;
Adler Andrei - Bucuresti - 30 puncte;
Doncea Madalin - Arges - 30 puncte;
Fisierele de teste


Program realizat de elevul Sabau Florin - rezultat final : premiu II - 110 puncte

uses crt;
var f: text;
    n,i,x,k,swap: integer;
    a,b: array[1..10000] of byte;
    gata: boolean;

function cauta(nr,swap: integer): integer ;
var x,j: integer;
begin
     x:=0;
     for j:=0 to 9 do if (j*3+swap) mod 10=nr then
     begin
          x:=j; break;
     end;
     cauta:=x;
end;

procedure solutie;
var j: integer;
begin
     assign(f,'output.txt'); rewrite(f);
     for j:=1 to i do write(f,a[j]);
     close(f);
     gata:=true;
end;

begin
     clrscr;
     assign(f,'input.txt'); reset(f);
     readln(f,n);
     i:=n; if i=1 then i:=2;
     repeat
           for k:=1 to n do begin a[k]:=0; b[k]:=0; end;
           a[1]:=1; b[i]:=1; a[i]:=7; b[i-1]:=a[i]; swap:=2;
           gata:=false;
           for k:=i-1 downto 2 do
           begin
                x:=cauta(b[k],swap);
                a[k]:=x; b[k-1]:=x; swap:=(x*3) div 10;
           end;
           if b[1]=3+swap then solutie;
           i:=i+1;
     until gata ;
{     if (i>40) and not(gata) then begin assign(f,'output.txt'); rewrite(f); close(f); end;{}
end.

[BACK]



Fisierele de teste :

Test 1 :
3

Test 2 :
6

Test 3 :
13

Test 4 :
20

Test 5 :
30

Test 6 :
40

[BACK]