Cod sursa(job #165811)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 26 martie 2008 21:46:32
Problema Cifra Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.17 kb
{ http://infoarena.ro/problema/cifra }
var f,g:text;
    s:string[100];
    n:int64;
    i,t:integer;
    e:shortint;
    v:array[0..99] of byte;
function putereuc(n,p:int64):int64;
var a:int64;
begin
        if p=0 then putereuc:=1
               else if p=1 then putereuc:=n mod 10
                           else begin
                                a:=putereuc(n,p div 2);
                                a:=a*a mod 10;
                                if odd(p) then a:=a*n mod 10;
                                putereuc:=a;
                                end;
end;
function sumauc(n:int64):int64;
var s,i:int64;
begin
    s:=0; i:=1;
    while i<=n do
        begin
        s:=s+putereuc(i mod 10,i);
        i:=i+1;
        end;
    s:=s mod 10;
    sumauc:=s;
end;
begin
        assign(f,'cifra.in'); reset(f);
        assign(g,'cifra.out'); rewrite(g);
        readln(f,t);
        for i:=0 to 99 do
                v[i]:=sumauc(i);
        for i:=1 to t do
                begin
                readln(f,s);
                val(copy(s,length(s)-1,2),n,e);
                writeln(g,v[n]);
                end;
        close(f); close(g);
end.