-
Posts
1 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Danilo A A dos Santos
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Preciso desenvolver um programinha em linguagem C, sou iniciante!!
em C/C#/C++
Postado
Contexto
Um gato esperto entrou em uma sala bagunçada que precisava de limpeza. Em vez de fazer o trabalho sozinho, ele decide transferir o trabalho para os seus gatos ajudantes. O gato esperto possui uma quantidade de gatos ajudantes (menores que ele) dentro do seu chapéu. Cada gato ajudante também possui seus próprios gatos ajudantes (menores que eles) dentro dos seus chapéus. Assim, cada gato ajudante transfere o trabalho a ser feito para os seus próprios ajudantes. Eventualmente os gatos ajudantes atingem um tamanho mínimo igual a 1. Estes gatos de tamanho mínimo não possuem ajudantes em seus chapéus: são trabalhadores que devem fazer o trabalho eles mesmos.
Dados o tamanho do primeiro gato esperto e a quantidade de gatos trabalhadores (de tamanho 1), você deve encontrar o número de gatos que não realizam trabalho algum (isto é, os gatos preguiçosos de tamanho maior que 1) e também determinar a soma dos tamanhos de todos os gatos.
Descrição
Faça um programa que leia do teclado dois números inteiros positivos, T e Q. O primeiro inteiro, T, indica o tamanho do primeiro gato esperto e o segundo inteiro, Q, indica a quantidade de gatos trabalhadores.
Para cada par de números seu programa deve produzir a seguinte saída:
Quantidade de gatos que nao trabalham: 999 Tamanho total dos gatos: 999
onde 999 representa os valores calculados pelo programa, segundo a descrição do problema, para os números lidos T e Q.
Após a impressão dos valores calculados, seu programa deve imprimir uma linha em branco e reiniciar o procedimento, terminando apenas quando o 0 (zero) for digitado para o número T.
Ao final do processamento seu programa deve imprimir a mensagem "Fim de programa".
Assunções e restrições
1) Antes da leitura do número T, seu programa deve imprimir, na mesma linha, a mensagem "Tamanho do gato esperto: ", voltando a ler o número T (imprimindo a mensagem de orientação novamente), caso o valor digitado seja negativo.
2) Antes da leitura do número Q, seu programa deve imprimir, na mesma linha, a mensagem "Quantidade de gatos trabalhadores: ", voltando a ler o número Q (imprimindo a mensagem de orientação novamente), caso o valor digitado seja negativo ou zero.
2) Para cada par de números T e Q valem as seguintes regras:
A quantidade de gatos dentro de cada chapéu (dos gatos que possuem ajudantes) é constante e igual a N.
O tamanho dos gatos dentro de um chapéu é 1/(N + 1) vezes o tamanho do gato que possui o chapéu no qual eles estão. (Por exemplo, se N é igual a 3, o tamanho dos gatos no chapéu de um gato de tamanho 16 é 4).
2) Os números T e Q sempre refletirão uma situação válida. Isto é, partindo-se de um gato de tamanho T, considerando os gatos em seu chapéu e os gatos nos chapéus de cada ajudante, eventualmente chega-se a uma quantidade Q de gatos trabalhadores (de tamanho 1).
Exemplo A)
A seguinte saída ilustra uma execução válida do programa:
Tamanho do gato esperto: -32
Tamanho do gato esperto: -961
Tamanho do gato esperto: 216
Quantidade de gatos trabalhadores: 125
Quantidade de gatos que nao trabalham: 31
Tamanho total dos gatos: 671
Tamanho do gato esperto: 5764801
Quantidade de gatos trabalhadores: 0
Quantidade de gatos trabalhadores: -2148
Quantidade de gatos trabalhadores: 1679616
Quantidade de gatos que nao trabalham: 335923
Tamanho total dos gatos: 30275911
Tamanho do gato esperto: 0
Fim de programa
os-gatos-nos-chapeus.pdf