Cod sursa(job #926313)

Utilizator raluca1234Tudor Raluca raluca1234 Data 25 martie 2013 09:37:41
Problema Sum Scor 35
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
var f,g:text;
    n,x,suma,i,j:longint;
{Creez functia ce calculeaza cmmdc}
function cmmdc2(a1,a2:longint):longint;   {pe aceasta nu o voi apela}
begin
    while a1<>a2 do
      if a1>a2 then
         a1:=a1-a2
	else
	 a2:=a2-a1;
    cmmdc2:=a1;
end;

function cmmdc(a1,a2:longint):longint;
var rest:longint;
begin
    while a1 mod a2<>0 do
          begin
          rest:=a1 mod a2;
          a1:=a2;
          a2:=rest;
          end;
    cmmdc:=a2;
end;

begin
assign(f,'sum.in');reset(f);
assign(g,'sum.out');rewrite(g);
readln(f,n);
for i:=1 to n do
    begin
    readln(f,x);
    suma:=0;
    for j:=1 to 2*x do
        if cmmdc(x,j)=1 then
           suma:=suma+j;
    writeln(g,suma);
    end;
close(f); close(g);
end.