Pagini recente » Cod sursa (job #1218343) | Cod sursa (job #2051635) | Cod sursa (job #218110) | Cod sursa (job #1458984) | Cod sursa (job #2442151)
#include <iostream>
#include <fstream>
using namespace std;
bool er[1000001];
int main(){
ifstream fin("fractii.in");
ofstream fout("fractii.out");
unsigned n,i,j,k=0,a,b,r;
fin>>n;
er[0]=er[1]=1;
for (i=2;i*i<=n;i++){
if (er[i]==0)
for (j=2;j<=n/i;j+=i)
er[j*i]=0;
}
k=n;
k=k+n/2+n%2;
for (i=3;i<=n;i++){
if (er[i]==0)
k=k+n-1;
if (i%2)
for (j=1;j<=n;j++){
if (i==1||j==1){
k++;
continue;
}
a=i;
b=j;
while (b){
r=a%b;
a=b;
b=r;
}
if (a==1){
k++;
}
}
else
for (j=1;j<=n;j+=2){
if (i==1||j==1){
k++;
continue;
}
a=i;
b=j;
while (b){
r=a%b;
a=b;
b=r;
}
if (a==1){
k++;
}
}
}
fout<<k;
fin.close();
fout.close();
return 0;
}