Cod sursa(job #1145341)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 18 martie 2014 09:49:55
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
bool x[1000001];
int cmmdc(int a,int b)
{
    if(a%b==0) return b;
    if(b%a==0) return a;
    return cmmdc(a%b,b%a);
}
using namespace std;
int main()
{
    for(int i=2;i<1000001;i++)
    {
        if(x[i]==0) for(int j=2;j<1000001/i;j++) x[i*j]=1;
    }
    FILE *fin,*fout;
    fin=fopen("fractii.in","r");
    fout=fopen("fractii.out","w");
    long int n;
    fscanf(fin,"%li",&n);
    long int a[n+1];
    a[1]=1;
    for(int i=2;i<=n;i++)
    {
        a[i]=a[i-1];
        if(x[i]==0) a[i]+=2*(i-1);
        else
        {
            a[i]+=2*(i-1);
            for(int j=2;j<=i;j++)
            {
                if(i%j==0)a[i]-=i/j;
            }
        }
        fprintf(fout,"%d %d",a[i],i);
        fprintf(fout,"\n");
    }
    fprintf(fout,"%li",a[n]);
}