Buscar

Projeto e desenvolvimento de Algoritimo

Umpaísemiteapenasduasmoedasdevaloresdiferentes:umade7unidadesmonetárias eoutrade11.Assim, somas como 15 unidades não podem serobtidas demaneira exata.

 Qualéamaiorquantia,menorque70unidades,quenãopodeserpagacomqualquer combinação das duas moedas?

 Observação: vocêdevedeixar claro em suaresposta o raciocínio que o levouàresposta.

 

💡 3 Respostas

User badge image

Andre Smaira

Nesse caso de valores monetários, podemos utilizar o seguinte algoritmo:

{

se (i == j)

return 0;

int k;

int min = INT_MAX;

contagem int;

// coloque parênteses em lugares diferentes

// entre a primeira e a última matriz, recursivamente

// calcula a contagem de multiplicações para

// cada colocação parêntesis e retornar o

// contagem mínima

para (k = i; k <j; k ++)

{

count = MatrixChainOrder (p, i, k) +

MatrixChainOrder (p, k + 1, j) +

p [i - 1] * p [k] * p [j];

se (contar <min)

min = count;

}

// Retorna a contagem mínima

return min;

}

// Driver Code

int main ()

{

int arr [] = {1, 2, 3, 4, 3};

int n = tamanho de (arr) / sizeof (arr [0]);

cout << "Número mínimo de multiplicações é"

<< MatrixChainOrder (arr, 1, n - 1);

}

0
Dislike0
User badge image

Andre Smaira

Nesse caso de valores monetários, podemos utilizar o seguinte algoritmo:

{

se (i == j)

return 0;

int k;

int min = INT_MAX;

contagem int;

// coloque parênteses em lugares diferentes

// entre a primeira e a última matriz, recursivamente

// calcula a contagem de multiplicações para

// cada colocação parêntesis e retornar o

// contagem mínima

para (k = i; k <j; k ++)

{

count = MatrixChainOrder (p, i, k) +

MatrixChainOrder (p, k + 1, j) +

p [i - 1] * p [k] * p [j];

se (contar <min)

min = count;

}

// Retorna a contagem mínima

return min;

}

// Driver Code

int main ()

{

int arr [] = {1, 2, 3, 4, 3};

int n = tamanho de (arr) / sizeof (arr [0]);

cout << "Número mínimo de multiplicações é"

<< MatrixChainOrder (arr, 1, n - 1);

}

0
Dislike0
User badge image

RD Resoluções

Nesse caso de valores monetários, podemos utilizar o seguinte algoritmo:

{

se (i == j)

return 0;

int k;

int min = INT_MAX;

contagem int;

// coloque parênteses em lugares diferentes

// entre a primeira e a última matriz, recursivamente

// calcula a contagem de multiplicações para

// cada colocação parêntesis e retornar o

// contagem mínima

para (k = i; k <j; k ++)

{

count = MatrixChainOrder (p, i, k) +

MatrixChainOrder (p, k + 1, j) +

p [i - 1] * p [k] * p [j];

se (contar <min)

min = count;

}

// Retorna a contagem mínima

return min;

}

// Driver Code

int main ()

{

int arr [] = {1, 2, 3, 4, 3};

int n = tamanho de (arr) / sizeof (arr [0]);

cout << "Número mínimo de multiplicações é"

<< MatrixChainOrder (arr, 1, n - 1);

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais