Cod sursa(job #326500)

Utilizator bogyciMobutu Sese Seko bogyci Data 25 iunie 2009 13:56:18
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;

int main(){
    
    ifstream in;
    ofstream out;
    
    long int N, i, j, sol = 1;
    
    in.open("fractii.in");    
    in >> N;
    in.close();
    
    int mult[N+1], max[N+1];
        
    for (i=1;i<=N;i++)
    {
        mult[i] = 1;
        max[i]  = 1;
    }
    
    for (i=2; i <= N; i++)
    {               
      if (max[i] == 1)
      {  
         for (j=1; j <= N/i; j++)
         {
             mult[i*j] *= i - 1;
             max [i*j] *= i;
         }
         
      }
      sol += (2*i*mult[i])/max[i];
                 
    }  
    
    out.open("fractii.out");
    
    out << sol;
    
    out.close();
    
    return 0;
}