Cod sursa(job #97615)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 7 noiembrie 2007 19:11:02
Problema Sum Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream.h>
ifstream fin("sum.in");
ofstream fout("sum.out");
long n,x,sir[100001];
long cmmdc(long a,long b){
   while (b){
      long r=a%b;
      a=b;
      b=r;}
return a;
}
void suma(){
long S=0;
for (long a=1;a<=2*x;a++)
    if (cmmdc(a,x)==1)
       S+=a;
sir[x]=S;
fout<<S<<"\n";
}
void citire(){
fin>>n;
for (long i=0;i<n;i++){
    fin>>x;
    if (sir[x]==0)
    suma();
    else
       fout<<sir[x]<<"\n";}
fin.close();
}
int main(){
citire();
fin.close();
fout.close();
return 0;
}