Cod sursa(job #1601551)
Utilizator | Data | 15 februarie 2016 23:30:28 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <fstream>
#include <math.h>
#include <iostream>
using namespace std;
int prim(int x) {
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
int main()
{
long long int x,nr_frac;
int n,aux,var;
ifstream is("fractii.in");
ofstream os("fractii.out");
is>>n;
x = n*n;
aux = floor(n/2);
nr_frac = aux*(aux-1);
var = 3;
while(var<=n/2) {
if(prim(var)) {
aux = floor(n/var);
nr_frac += aux*(aux-1);
}
var +=2;
}
x -= nr_frac;
x -= n-1;
os<<x;
is.close();
os.close();
return 0;
}