Cod sursa(job #865265)
| Utilizator | Data | 26 ianuarie 2013 12:10:19 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include<stdio.h>
int v[10],k;
void gen(double &x){
int i;
k=0;
x=1;
for(i=1;i<=9;i++)
v[i]=0;
}
void desc(int x){
int i=2;
while(x!=1){
if(x%i==0)
v[++k]=i;
while(x%i==0)
x/=i;
i++;
}
}
int main(){
int n,s=0,j,i;
double p;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){
gen(p);
desc(i);
p*=n;
for(j=1;j<=k;j++)
p*=(1-(1.0/v[j]));
s+=p;
if(n%i!=0)
s++;
}
printf("%d",s);
return 0;
}
