Cod sursa(job #222257)

Utilizator kis_lorikis levente lorand kis_lori Data 21 noiembrie 2008 15:22:37
Problema Sum Scor 45
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
function cmmdc(a,b:longint):longint;
var r:longint;
begin
 r:=a mod b;
 while r<>0 do begin
  a:=b; b:=r; r:=a mod b;
 end;
 cmmdc:=b;
end;

var n,x,i,j,k,l,s,aux:longint;
    v:array [1..20] of longint;
    prim:boolean;
begin
 assign(input,'sum.in'); reset(input);
 assign(output,'sum.out'); rewrite(output);
 readln(n);
  for i:=1 to n do begin
   readln(x); aux:=x; s:=0; k:=0;
   for j:=2 to x do
    if x mod j=0 then begin
     inc(k); v[k]:=j;
     while x mod j=0 do x:=x div j;
    end;
   x:=aux;
   for j:=1 to x*2 do begin
    prim:=true;
    for l:=1 to k do
     if j mod v[l]=0 then begin
      prim:=false; break;
     end;
    if prim then s:=s+j;
   end;
   writeln(s);
  end;
 close(input); close(output);
end.