Pagini recente » Cod sursa (job #2786350) | Cod sursa (job #842497) | Cod sursa (job #3227763) | Cod sursa (job #3169856) | Cod sursa (job #3123032)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
const int N = 1000001;
int n,phi[N],sol=1;
int main()
{
f>>n;
for(int i=1;i<=n;i++)
phi[i]=i;
/// se calculeaza phi[i] pentru orice i de la 2 la n;
for(int i=2;i<=n;i++)
{
if(phi[i]==i)///daca i este prim
for(int j=i;j<=n;j+=i)
phi[i]=phi[i]/i*(i-1);
sol+=2*phi[i];
}
g<<sol<<'\n';
return 0;
}
1 2 3 4 ... N
1 1 2 2 ->5*2=10+1
1+2*(phi(2)+phi(3)+phi(4))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
1 1 2 2 4 2 6 4 6 5 10 6 12 7 10 8 16 9
4 4 6 8 6
1 2 4 5 7 8
x*3^a ->x*2*3^(a-1)