Cod sursa(job #612847)

Utilizator mid.nightpeter lee mid.night Data 11 septembrie 2011 06:27:41
Problema Cifra Scor 90
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.78 kb
function luyThua(x,y: integer): integer;
	var p: integer;
	begin
		if y=0 then
			begin
				luyThua := 1;
				exit;
			end;
		p := luyThua(x, y div 2);
		if odd(y) then luyThua := (p*p*x) mod 10
		else luyThua := (p*p) mod 10
	end;

procedure xuLi;
	var
		a: array[0..101] of integer;
		t, len: integer;
		s: string;
		ii, jj: integer;
	begin
		a[0] := 0;
		for ii:=1 to 100 do a[ii] := (a[ii-1]+luyThua(ii,ii)) mod 10;
		readln(t);
		for ii:=1 to t do
		begin
			readln(s);
			len := length(s);
			if len=1 then jj := ord(s[1]) - 48
			else jj := (ord(s[len-1])-48)*10+(ord(s[len])-48);
			writeln(a[jj]);
		end;
	end;
	
BEGIN
	assign(input,'cifra.in'); reset(input);
	assign(output,'cifra.out'); rewrite(output);
	xuLi;
	close(input); close(output);
END.