Pagini recente » Cod sursa (job #2281113) | Cod sursa (job #2604659) | Cod sursa (job #2572148) | Cod sursa (job #2575256) | Cod sursa (job #1400799)
#include <fstream>
#define nmax 1000010
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
int N, A[nmax];
long long w;
int main()
{
in>>N;
for(int i=2;i<=N;i++)
A[i]=i-1; //presupunem ca toate numerele sunt prime
for(int i=2;i<=N;i++)
{
for(int j=i+i;j<=N;j+=i)
A[j]-=A[i]; //dupa numarul i scadem din toti multiplii lui numerele prime-ntre ele mai mici decat i
w+=A[i]; //adaugam numarul de numere mai mici decat i care sunt prime-ntre ele
}
out<<w;
in.close();out.close();return 0;
}