Cod sursa(job #865362)

Utilizator irinaneaguIrina Neagu irinaneagu 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;
}