Cod sursa(job #386148)

Utilizator SpiderManSimoiu Robert SpiderMan Data 24 ianuarie 2010 10:57:03
Problema Sum Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.84 kb
var n,x,j,i:longint;
    sum:int64;
    v:array[1..100005] of int64;
    f,g:text;
 procedure fisier;
 begin
  assign(f,'sum.in');
  assign(g,'sum.out');
  reset(f);
  rewrite(g);
 end;

 procedure ciur;
  begin
  for i:=1 to 100005 do
   v[i]:=i-1;
  for i:=2 to 100005 do
   if v[i]=i then
   begin
    j:=2*i;
     while j<=100005 do
      begin
       v[j]:=v[j]-v[i];
       j:=j+i;
      end;
   end;
  end;

 procedure citire;
 begin
   readln(f,n);
 end;

 procedure citire2;
 begin
   readln(f,x);
 end;

 procedure suma;
 begin
  sum:=v[x]*x*2;
 end;

 procedure scriere;
 begin
  writeln(g,sum);
 end;

 procedure main;
 begin
  for i:=1 to n do
   begin
    citire2;
    suma;
    scriere;
   end;
 end;

 begin
  fisier;
  ciur;
  citire;
  main;
  close(f);
  close(g);
 end.