Cod sursa(job #238093)

Utilizator masonnemassone massone masonne Data 31 decembrie 2008 16:20:46
Problema Factorial Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.09 kb
program factori;
var f,g:text;
    p:integer;
	n:word;
	ok:boolean;

		function factorial (n:word):word;
			var i:integer;
			    p:word;


			begin
				p:=1;
				for i:=1 to n do
					p:=p*i;
				factorial:=p;
			end;
		function putere(p:integer):word;
		var i,r:word;
		begin
		r:=1;
		for i:=1 to p do
		r:=r*10;
		putere:=r;
		end;



		function verifica(p:integer;n:word):integer;
			var t:byte;
			    nrfact,zecep,cautat:word;
			begin
			t:=0;
			cautat:=0;

			zecep:=putere(p);


                            while t=0 do begin
                                nrfact:= factorial(n);
                                if nrfact mod zecep = 0 then begin t:=1; cautat:=n; end;
                                n:=n+1;

                            end;
                         verifica:=cautat;


			end;




	BEGIN

	assign(f,'fact.in');
	assign(g,'fact.out');
	reset(f);
	rewrite(g);
	read(f, p);
	n:=1;

if p>0 then
        write(g,verifica(p,n));
		
		else write(g,'-1');
close(f);
close(g);
end.