Pagini recente » Cod sursa (job #1907125) | Cod sursa (job #2185277) | Cod sursa (job #2464555) | Cod sursa (job #1515201) | Cod sursa (job #2129551)
#include<iostream>
#include<fstream>
#include<queue>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int * ciur(int n)
{
int nr=0;
queue <int> q;
int *vect=new int [n+1];
for(int i=1;i<=n;++i)
vect[i]=i-1;
vect[0]=1;
for(int i=2;i<=n;++i)
for(int j=i+i;j<=n;j+=i)
vect[j]=vect[j]-vect[i];
return vect;
}
int indicator(int x,int *ciur)
{
long long int nr=x;
long long int nr_1=1;
for(int i=1;i<=ciur[0]&&ciur[i]<=x;++i)
if(x%ciur[i]==0)
{
nr=nr/ciur[i];
nr_1=nr_1*(ciur[i]-1);
}
nr=nr*nr_1;
return nr;
}
int main()
{
int n;
f>>n;
int *v_ciur=ciur(n);
//for(int i=1;i<=n;++i)
//g<<v_ciur[i]<<" ";
long long int suma=0;
for(int i=1;i<=n;++i)
suma+=2*v_ciur[i];
g<<suma+1;
return 0;
}