Cod sursa(job #57601)

Utilizator cretuMusina Rares cretu Data 2 mai 2007 17:44:57
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <fstream>

using namespace std;

bool p[1000001];
long long t1[1000001], t2[1000001];
long long n, nr = 0;

int main()
{
    long long i, j, a, u, aux2;
    double auxi;
    
    ifstream fin("fractii.in");
    fin >> n;
    fin.close();
 
    for (i = 2; i <= n; i++)
        if (p[i] == false)
        {
             for (j = i+i; j <= n; j += i)
             {
                  p[j] = true;
                  if (!t1[j])                
                  {
                      t1[j] = i;                           
                      t2[j] = i-1;
                  }
                  else
                  {
                      t1[j] *= i;
                      t2[j] *= (i-1);    
                  }
             }
        }
    for (i = 2; i <= n; i++)    
        if (p[i] == false) nr += (i-1);
        else               nr += (i*t2[i])/t1[i];
        
    ofstream fout("fractii.out");
   /* for (i = 2; i <= n; i++)
        if (p[i] == false) fout << i-1 << " ";
        else               fout << (i*t2[i])/t1[i] << " ";*/
    fout << 2*nr+1;
    fout.close(); 
    
    return 0;
}