Início > Códigos-Fonte, Olimpíadas de Programação, Problemas Resolvidos > [OBI] Problemas Resolvidos – Bits Trocados

[OBI] Problemas Resolvidos – Bits Trocados

Este será o primeiro de muitos posts que serão exibidos sobre a resolução de problemas da Olimpíada Brasileira de Informática (OBI).

O Problema

Bits Trocados

As Ilhas Weblands formam um reino independente nos mares do Pacífico. Como é um reino recente, a sociedade é muito influenciada pela informática. A moeda oficial é o Bit; existem notas de B$ 50,00, B$10,00, B$5,00 e B$1,00. Você foi contratado(a) para ajudar na programação dos caixas automáticos de um grande banco das Ilhas Weblands.

Clique aqui para ver o problema completo.

RESOLUÇÃO

O código-fonte com a minha resposta está abaixo. Porém, eu aconselho a antes de ver a resposta, você tentar resolver sozinho.  Esta resolução é um auxílio para quem não estiver conseguindo resolver. E lembre-se, este é o meu jeito de resolver, existem vários.

program BitsTrocados;

function trocaBits(var v : integer; n : integer): integer;
begin
	if (v >= n)
	then
		begin
			trocaBits := v div n; // Informa a quantidade de cédulas de n
			v := v mod n; // Resto de bits
		end
	else
		begin
			trocaBits := 0;
		end;
end;

var
	v : integer; // Valor solicitado pelo cliente
	i, j, k, l : integer; // Quantidades de cédulas
	testeN : integer; // 'Teste n'

begin
	testeN := 1;
	i := 0;
	j := 0;
	k := 0;
	l := 0;
	readln(v);

	while(v <>0) do
	begin
		i := trocaBits(v, 50);
		j := trocaBits(v, 10);
		k := trocaBits(v, 5);
		l := trocaBits(v, 1);

		writeln('Teste ', testeN);
		writeln(i, ' ', j, ' ', k, ' ', l);
		writeln;

		readln(v);
		testeN := testeN + 1;
	end;
end.

Se você tiver qualquer dúvida ou sugestão, deixe um comentário.

Acesse o novo endereço do Olá Mundo!: http://ola-mundo.com

  1. Nenhum comentário ainda.
  1. 13 de maio de 2010 às 18:24

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: