Cod sursa(job #524875)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 23 ianuarie 2011 14:26:59
Problema Numerele lui Stirling Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<iostream.h>
#include<fstream.h>
long s(int n,int m)
{if(n==m)
     return 1;
else
     if((n>0&&m==0)||m>n)
          return 0;
     else
          return ((s(n-1,m-1)%98999)-((((n-1)%98999)*(s(n-1,m)%98999))%98999))%98999;}

long S(int n,int m)
{if(n==m||m==1)
     return 1;
else
     return ((S(n-1,m-1)%98999)+(((m%98999)*(S(n-1,m)%98999))%98999))%98999;}

int main()
{int t,n,m,k,i;
long x,y,z,l;
ifstream f1("stirling.in");
ofstream f2("stirling.out");
f1>>t;
for(i=1;i<=t;i++)
      {f1>>k>>n>>m;
      if(k==1)
              f2<<s(n,m)%98999<<endl;
      else
              f2<<S(n,m)%98999<<endl;}
f1.close();
f2.close();
return 0;}