Cod sursa(job #2200161)
| Utilizator | Data | 30 aprilie 2018 15:28:22 | |
|---|---|---|---|
| Problema | Fractii | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int main()
{
int n;
f >> n;
float fractii,ct=0;
bool prim[n+1];
memset(prim, true, sizeof(prim));
for (int p=2; p*p<=n; p++)
{
if (prim[p] == true)
{
for (int i=p*2; i<=n; i += p)
prim[i] = false;
}
}
for(int i=1;i<=n;i++){
fractii=i;
for (int p=2; p<=n; p++)
if (prim[p]&&i%p==0)
fractii*=1-1/(float)p;
ct+=fractii;
}
g << ct*2-1;
}
