|
TOI
|
1ère Olympiade Tunisienne d'Informatique Ariana, 19 avril 2003 |
|
PROGRAM WELL_ORDERED; USES wincrt; VAR n : INTEGER; i,mn,mx,p : LONGINT; PROCEDURE min_max(n:integer; VAR min,max:LONGINT); VAR i : INTEGER; BEGIN min:=0; max:=0; FOR i:=1 to n do BEGIN min:=10*min + i; max:=10*max + (9-n+i); END; END; FUNCTION w_ordered(m:LONGINT):BOOLEAN; VAR i,c1,c2 :INTEGER; valide :BOOLEAN; BEGINIF m<10 THEN BEGIN w_ordered:=TRUE END ELSE BEGIN REPEAT c1:=m MOD 10; m:= m DIV 10; c2:= m MOD 10; valide :=(c1>c2); UNTIL NOT(valide) OR (m<10); w_ordered:=valide; END; END; PROCEDURE saisie(VAR m:integer); BEGIN REPEAT WRITE('Donner un entier n compris entre 1et 9 : ');READLN(m); UNTIL m in [2..8]; END; BEGINsaisie(n); min_max(n,mn,mx); p:=0; FOR i:=mn to mx DO BEGIN IF w_ordered(i) THEN BEGIN p:=p+1; writeln(p:10,' - ',i); END; END; END. Le jeu de tests pour l'évaluationLes 5 tests pour le programmes W_ORDERED (20 points par test)Test 14 126 entiers Test 22 36 entiers Test 37 36 entiers Test 45 126 entiers Test 59 donnée refusée par le programme
|
|