Pagini recente » Cod sursa (job #2635315) | Cod sursa (job #2917519) | Cod sursa (job #2436603) | Cod sursa (job #3257313) | Cod sursa (job #615223)
Cod sursa(job #615223)
#include <fstream>
using namespace std;
int lnko (unsigned long a,unsigned long b);
int main()
{
unsigned long n,i,j,sum,s;
bool x[1000001];
ifstream f("fractii.in");
ofstream g("fractii.out");
f>>n;
f.close ();
i = 2;
sum = n;
while (i<=n)
{
if (!x[i])
{
x[i] = true;
j = i; s = 1;
while ( (j+i)<=n )
{
s++;
j+=i;
x[j] = true;
}
unsigned long c = lnko (n,i);
if (c==n) c=1;
if (c==1) sum = sum + (n-s)*s;
else sum = sum + (n-c)*s;
}
i++;
}
g<<sum;
g.close();
return 0;
}
int lnko(unsigned long a,unsigned long b)
{
if (!b) return a;
return lnko (b, a % b);
}