Prev Up Next
Go backward to Mais recursividade
Go up to Alguns exercícios a exemplos dados nas aulas teóricas
Go forward to Números de Stirling 2

Números de Stirling



 // -----------------------------------------------------------------------------
 // Recursividade V
 // Lê m, n e imprime o número de Stirling de 2a espécie
 //  {n,m}

 main(){
   int stirl(int m,int n);
   int n,m;
   while(1){
     printf("n (<=0 para acabar)? ");
     scanf("%d",&n);
     if(n<=0)
       break;
     printf("m? ");
     scanf("%d",&m);
     printf("{%-d,%-d} = %-d\n",n,m,stirl(n,m));
   }
 }

 // Numero de Stirling {n,m}; supoe-se m,n>=1
 int stirl(int n,int m){
   if(m==1)
     return(1);
   if(m>n || n<=0)
     return(0);
   return(m*stirl(n-1,m)+stirl(n-1,m-1));
 }



Prev Up Next