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

Números de Stirling 2

Imprime o "triângulo" de Stirling para 1 <= k <= n k <= m para m dado.
#include <stdio.h>

void cabeca(int);
int st(int,int);

main(){
  int m,n,k;
  scanf("%d",&m);
  cabeca(m);
  for(n=1;n<=m;n++){
    printf("%3d|",n); fflush(stdout);
    for(k=1;k<=n;k++)
      printf("%3d",st(n,k)); fflush(stdout);
    printf("\n");
  }
}

void cabeca(int m){
  int n;
  printf("\n");
  printf("   |");
  for(n=1;n<=m;n++)
    printf("%3d",n);
  printf("\n");
  printf("   |");
  for(n=1;n<=m;n++)
    printf("---");
  printf("\n");
}

int st(int n,int k){
  if(n==1)
    return(k==n?1:0);
  return(st(n-1,k-1)+k*st(n-1,k));
}

Prev Up Next