0 triângulo de Pascal é um arranjo de números da forma:
1
11
121
1331
14641
onde o elemento que aparece na linha I , coluna J(I >= 1, J >= 1) é calculado por:
(I-1)!(J-1)!(I-J)!
Dado um inteiro N(N >= 1), escrever um programa para produzir um triângulo de Pascal com N linhas. O programa deverá verificar a consistência do dado de entrada, isto é, se o valor fornecido pelo usuário é mesmo como o esperado.

Passo 1

Resumo do enunciado: queremos gerar o triângulo de Pascal com N linhas, onde cada elemento é dado pela combinação C(i,j)=i!j!,(i-j)!. O programa também deve validar que o usuário informou um inteiro N>=1. Conteúdo principal: laços de repetição e cálculo de combinação via fatorial.

Passo 2

Validar a entrada: ler o valor de N usando scanf. Verificar se a leitura retornou sucesso ( 1 valor lido) e se N>=1. Se der erro, imprimir mensagem de “Entrada inválida” e encerrar o programa.
Implementar a função de fatorial: criar long factorial(int n) que retorna o produto de 1 até n. Usar um laço de 2 até n acumulando em uma variável do tipo long.
Implementar a função de combinação: criar long comb(int n, int k) que retorna n!k!,(n-k)! usando a função de fatorial.

Passo 3

Construir o triângulo de Pascal: no main, após validar N, usar dois laços aninhados. O laço externo vai de i=0 até N-1 (linha atual) e o interno de j=0 até i (coluna). Para cada posição, chamar comb(i,j) e imprimir o resultado seguido de espaço. Ao final de cada linha, imprimir quebra de linha.
Juntar tudo em um programa em C: incluir <stdio.h>, implementar factorial, comb e main conforme os passos anteriores.

Resposta

#include <stdio.h>\n#include <stdlib.h>\n\nlong factorial(int n) {\n long f = 1;\n for(int i = 2; i <= n; i++)\n f *= i;\n return f;\n}\n\nlong comb(int n, int k) {\n return factorial(n) / (factorial(k) * factorial(n - k));\n}\n\nint main() {\n int N;\n printf(“Digite o número de linhas: “);\n if(scanf(”%d”, &N) != 1 || N < 1) {\n printf(“Entrada inválida\n”);\n return 1;\n }\n for(int i = 0; i < N; i++) {\n for(int j = 0; j <= i; j++) {\n printf("%ld “, comb(i, j));\n }\n printf(”\n");\n }\n return 0;\n}

Exercícios relacionados