
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));
}
