Cod sursa(job #974262)
| Utilizator | Data | 16 iulie 2013 18:21:55 | |
|---|---|---|---|
| Problema | Fractii | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
#include <iostream>
#include <stdint.h>
#include <cstring>
using namespace std;
int main (){
long long n;
long long ar[1000001];
ifstream fin( "fractii.in", ios_base::in );
ofstream fou( "fractii.out", ios_base::out );
fin >> n ;
memset(ar, 0, sizeof(long long)* 1000001);
long long sum = 0;
for (long long j = 2; j <=n; ++j){
ar[j] += j - 1;
for (long long k = 2*j; k <=n; k+=j){
ar[k] -= ar[j];
}
sum+= ar[j];
}
sum = 2 * sum + 1;
fou << sum << endl;
fin.close();
fou.close();
return 0;
}
