Pagini recente » Borderou de evaluare (job #1511416) | Rezultatele filtrării | Rezultatele filtrării | Rezultatele filtrării | Cod sursa (job #37088)
Cod sursa(job #37088)
#include<fstream.h>
int main(){
ifstream fin("fractii.in");
ofstream fout("fractii.out");
long int N;
fin>>N;
long int x;
short ok=1;
long long nr=N*N;
for (long i=2;i<=N;i++){
x=i;
ok=1;
if (x%2==0){
nr-=N-N/2;
ok=0;}
while (x%2==0){
x/=2;}
for (long int d=3;d<=x;d+=2){
if (ok==1){
if (x%d==0){
nr-=N/d;
ok=0;
while (x%d==0)
x/=d; }}
else {
int S=0;
if (x%d==0){
while (x%d==0){
x/=d;
S--;}
nr-=(N/d+S);}} } }
fout<<nr;
fin.close();
fout.close();
return 0;
}