Cod sursa(job #165795)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 26 martie 2008 21:06:46
Problema Cifra Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.01 kb
{ http://infoarena.ro/problema/cifra }
var f,g:text;
    n:int64;
    i,t:integer;
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:=1 to t do
                begin
                readln(f,n);
                writeln(g,sumauc(n));
                end;
        close(f); close(g);
end.