Cod sursa(job #715079)

Utilizator lukkerLiNoimi Semain lukker Data 16 martie 2012 16:50:46
Problema Fractii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <iostream>
using namespace std;

ifstream f("fractii.in");
ofstream f2("fractii.out");
bool prim[1000000]={true};

int cmmdc(int a,int b) {
	int r;
	r=a%b;
	while(r!=0) {
		a=b;
		b=r;
		r=a%b;
	}
	return b;
}

int main() {
	int n;
	long long s=0;
	f>>n;
	for(int i=2;i<=n;i++) {
		if(prim[i]) {
			for(int j=2;j*i<=n;j++)
				prim[i*j]=false;
		}
	}
	for(int i=1;i<=n;i++) {
		if(prim[i]) {
			if(i==1) s+=n;
			else s+=n-1;
		} else {
			for(int j=1;j<=n;j++) {
				if(cmmdc(i,j)==1) s++;
			}
		}
	}
	f2<<s<<endl;
	return 0;
}