Cod sursa(job #1872900)

Utilizator doc2177Dorian Croitoru doc2177 Data 8 februarie 2017 17:47:55
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>

using namespace std;

int main() {
        freopen("fractii.in","r",stdin);
        freopen("fractii.out","w",stdout);
	int N, m[1000005];
	cin >> N ;

	for (int i=0; i<1000005; i++) m[i]=1;
	for (int i=2; i<=N; i++) 
		if (m[i]==1) {
			for (int j=i; j<=N; j+=i) m[j]*=i-1;
			if (i<1001) {
				int y=i*i;
				while (y<=N) { for (int j=y; j<=N; j+=y) m[j]*=i; y*=i; }
			}
		}

long long ans = 0 ; 
for (int i=2; i<=N; i++) ans+= m[i];
cout << 1+2*ans << endl;

return 0;
}