Cod sursa(job #1986579)

Utilizator lorena1999Marginean Lorena lorena1999 Data 28 mai 2017 17:09:59
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 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()
{
    f>>n;
    if(n==1)
        g<<1;
    else if(n==2)
        g<<2;
    else
        {
            long int rez = fact(n)/fact(n-2);
            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;
            g<<rez-sum;
        }

}