Dada a função X definida a seguir: function X (n,m : INTEGER...

Próximas questões
Com base no mesmo assunto
Q4282190 Algoritmos e Estrutura de Dados
Dada a função X definida a seguir:
function X (n,m : INTEGER) : INTEGER;
         BEGIN                 IF (n = m) or (m=0)                        thenX: =1                        elseX:=X(n-1,m+Xn-1m-1)   END;

Qual o valor de X(5,3)? 
Alternativas

Comentários

Veja os comentários dos nossos alunos

Deepseek
"Traduzindo o pseudocódigo para JavaScript

O pseudocódigo da imagem tem uma sintaxe um pouco confusa (parece Pascal com alguns erros de digitação). Vou interpretar e traduzir para JavaScript.

Interpretação do pseudocódigo

text

function X (n, m : INTEGER) : INTEGER;
BEGIN
IF (n = m) or (m = 0)
then X := 1
else X := X(n-1, m + X(n-1, m-1)) // provável interpretação
END;

⚠️ A linha else X:=X(n-1,m+Xn-1m-1) está truncada na imagem. As leituras mais prováveis são:

  • X(n-1, m + X(n-1, m-1)) — aninhamento de chamadas

  • X(n-1, m) + X(n-1, m-1) — soma de duas chamadas (recorrência clássica tipo binomial)

A segunda é a interpretação mais natural em exercícios de recursão (relação de Pascal), então vou mostrar as duas.

Versão 1 — Interpretação mais provável (soma de duas chamadas)

javascript

function X(n, m) {
if (n === m || m === 0) {
return 1;
}
return X(n - 1, m) + X(n - 1, m - 1);
}

Essa função calcula o coeficiente binomial C(n, m) — o mesmo usado em triângulo de Pascal."

Não sei se tem uma forma eficiente de fazer isso, mas eu fiz até chegar ao caso base

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo