Pagini recente » Cod sursa (job #786586) | Monitorul de evaluare | Cod sursa (job #2659639) | Cod sursa (job #149688) | Cod sursa (job #758912)
Cod sursa(job #758912)
#include<fstream>
using namespace std;
int cmmdc(int a, int b)
{
int x;
if (a<b)
{
x=a;
a=b;
b=x;
}
while (b != 0)
{
a = a%b;
x=a;
a=b;
b=x;
}
return (a);
}
bool ciur[2000005];
int fi(int n)
{
int d;
d=n;
for (int a=2; a<=n; a++)
{
if (ciur[a]==0)
{
for(int b=2*a; b<=n; b=b+a)
{
ciur[b]=1;
}
}
}
for (int c=2; c<=n; c++)
{
if ((ciur[c]==0) && (n%c==0))
d = d * (1.0-1.0/(double)c);
}
return (d);
}
int main()
{
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int g, p;
fin>>g;
p=0;
for (int l=1; l<=g; l++)
{
p = p + fi (l);
}
p = (p-1)*2+1;
fout<<p;
return 0;
}