Cod sursa(job #970517)

Utilizator danlexDan Alexandru danlex Data 7 iulie 2013 00:08:05
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;

int n, phi[1000002];
bool DEBUG = false;
long long s;

void print(){
	cout << endl;
	cout << "n: " << n << endl;
	cout << "s: " << s << endl;
	cout << endl;
}

void read(){
    ifstream fi("fractii.in");
    fi >> n;
    fi.close();
}

void write(){
    ofstream fo("fractii.out");
    fo << s;
    fo.close();

}

void compute(){
	s = 0;
	for (int i = 2; i <= n; i++){
		phi[i] = i - 1;
	} 
	for (int i = 2; i <= n; i ++){
		s += phi[i];
		for (int j = 2 * i; j <= n; j += i){
			phi[j] -= phi[i];
		}
	}
	s = 2 * s + 1;
	if(DEBUG) print();
}


int main(void){
    read();
    compute();
    write();
	return 0;
}