Pagini recente » Cod sursa (job #2655021) | Cod sursa (job #950174) | Cod sursa (job #2672146) | Cod sursa (job #78108) | Cod sursa (job #57601)
Cod sursa(job #57601)
#include <fstream>
using namespace std;
bool p[1000001];
long long t1[1000001], t2[1000001];
long long n, nr = 0;
int main()
{
long long i, j, a, u, aux2;
double auxi;
ifstream fin("fractii.in");
fin >> n;
fin.close();
for (i = 2; i <= n; i++)
if (p[i] == false)
{
for (j = i+i; j <= n; j += i)
{
p[j] = true;
if (!t1[j])
{
t1[j] = i;
t2[j] = i-1;
}
else
{
t1[j] *= i;
t2[j] *= (i-1);
}
}
}
for (i = 2; i <= n; i++)
if (p[i] == false) nr += (i-1);
else nr += (i*t2[i])/t1[i];
ofstream fout("fractii.out");
/* for (i = 2; i <= n; i++)
if (p[i] == false) fout << i-1 << " ";
else fout << (i*t2[i])/t1[i] << " ";*/
fout << 2*nr+1;
fout.close();
return 0;
}