Cod sursa(job #1986581)

Utilizator lorena1999Marginean Lorena lorena1999 Data 28 mai 2017 17:13:23
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("fractii.in");
ofstream g("fractii.out");

long int n;

long int fact(int k)
    {
        if(k==0)
            return 1;
        else
        {
            return fact(k-1)*k;
        }
    }

int prim(int x)
    {
        for(long int i=2; i<=x/2; i++)
            if(x%i==0)
                return 0;
        return 1;
    }

int main()
{
    long int rez;
    f>>n;
    if(n==1)
        g<<1;
    else if(n==2)
        g<<2;
    else
        {
            if(n-2>0)
                {
                    long int a = fact(n);
                    long int b = fact(n-2);
                    rez = a/b;
                }
            rez++;
            long int p=2;
            long int sum=0;
            while(p<n)
            {
                int c=0;
                for(long int i=p; i<=n; i++)
                    if(i%p==0)
                        c++;
                sum=sum+(c*(c-1)/2);
                p++;
                while(!prim(p))
                    p++;
            }
            sum=sum*2;
            long int rez_f;
            rez_f=rez-sum;
            g<<rez_f;
        }

}