Pagini recente » Cod sursa (job #936602) | Cod sursa (job #1128759) | Cod sursa (job #2740431) | Cod sursa (job #918420) | Cod sursa (job #2442205)
#include <fstream>
using namespace std;
ifstream f ("fractii.in");
ofstream g ("fractii.out");
int v[1000001];
int main ()
{
int i, j, n;
long long nr = 0;
f>>n;
/** luam doar fractiile subunitare:
1/2
1/3, 2/3
1/4, 2/4, 3/4, ..
...
1/n, ... (n-1)/n
*/
for (i=2; i<=n; i++) //i = numitor
v[i] = i-1;
//triem
for (i=2; i<=n; i++)
{
nr += v[i];
for (j=2*i; j<=n; j+=i) ///elimina 2/4, 2/6, ...
v[j] -= v[i];
}
g<<2*nr+1; ///cazul 1/1 + de 2* fractiile supraunitare (sunt simetrice, ex: 2/3, 3/2)
}