Cod sursa(job #2444270)
| Utilizator | Data | 30 iulie 2019 20:59:53 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream fin ("fractii.in");
ofstream fout ("fractii.out");
int v[1000001];
int main ()
{
int i, j, n;
int nr = 0;
fin>>n;
for (i=2;i<=n;i++)
v[i] = i-1;//numar fractii subunitare, unde i e numitor
//CIURUL LUI ERASTOTENE
for (i=2;i<=n;i++)
{
nr += v[i];
for (j=2*i;j<=n;j+=i) // elimin k/k*(numar)
v[j] -= v[i];
}
fout<<2*nr+1; // dublez numarul de solutii deoarece mai sus am considerat doar fractii subunitare
}
