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

Mais recursividade



 // -----------------------------------------------------------------------------
 // Recursividade VI
 // Lê  n e imprime a soma
 //  {n,1} + {n,2} + ... + {n,n}

 main(){
   int somastirl(int);
   int n,m;
   printf("n ? ");
   scanf("%d",&n);
   printf("Soma dos {n,i}, i=1,2,...,n = %d\n",somastirl(n));
 }

 // Soma os numero de Stirling {n,i} para 1<= i <n
 int somastirl(int n){
   int stirl(int m,int n);
   int i,s=0;
   for(i=1;i<=n;i++)
     s+=stirl(n,i);
   return(s);
 }

 // 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