Cod sursa(job #865362)
Utilizator | Data | 26 ianuarie 2013 13:20:24 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
int s=0,ci,p1=1,p2=1,i,n,f;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for(i=2;i<=n;i++){
ci=i;
for(f=2;f*f<=i;f++)
if(ci%f==0){
p1*=f;
p2*=(f-1);
while(ci%f==0){
ci=ci/f;}
}
if(ci!=1){
p1*=ci;
p2*=(ci-1); }
s+=2*(i/p1*p2);
p1=p2=1;
}
s++;
printf("%d",s);
return 0;
}