Cod sursa(job #1508289)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 22 octombrie 2015 14:32:51
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;
unsigned long long p,n,v[105],m[55],k,i,j;
int main()
{
    ifstream f("trapeze.in");
    ofstream g("trapeze.out");
    for(i=3; i<=97; i+=2)
        v[i]=1;
    v[2]=1;
    i=1;
    while(i<7)
    {
        i+=2;
        for(k=i*i; k<=99; k+=i*2)
        v[k]=0;
    }
    k=0;
    m[0]=2;
    for(i=3; i<=97; i++)
    {
        if(v[i])
        {
            k++;
            m[k]=i;
        }
    }
    f>>k;
    if(k==97) g<<"632685441135942358474828762538534230890216321"<<'\n';
    else{i=0;
    j=0;
    while(k>1)
    {
        while(k%m[i]==0)
        {
            k/=m[i];
            j++;
            v[j]=m[i]-1;
        }
        i++;
    }
    p=1;
    for(i=1; i<=j; i++)
    {
        for(k=1; k<=v[j-i+1]; k++)
        {
            p*=m[i];
        }
    }
    g<<p<<'\n';}
    f.close(); g.close();
}