Ir ao conteúdo
  • Cadastre-se

Problema dos homens, macaco, cocos


jdsilva

Posts recomendados

Pessoal eu preciso de ajuda em exercício de computação básica, não vou ter oportunidade de tirar minhas dúvidas com o professor antes de entregar o trabalho.

 

Por conta de um naufrágio, cinco homens e um macaco encontraram-se sozinhos em uma ilha.
 
Eles passaram o primeiro dia colhendo cocos e foram dormir à noite, após terem colhido uma
pilha de cocos para dividirem no dia seguinte.
 
No meio da noite um dos homens acordou e decidiu separar sua parte. Ele dividiu a pilha de
cocos em cinco partes iguais, tendo sobrado um coco. O homem deu o coco restante ao
macaco, escondeu sua parte e voltou a dormir. Pouco tempo depois um segundo homem
acordou e também decidiu separar sua parte. Ele dividiu a pilha de cocos que encontrou em
cinco partes iguais, tendo sobrado um coco. Este segundo homem deu o coco restante ao
macaco, escondeu sua parte e voltou a dormir. Este mesmo procedimento foi repetido no meio
da noite pelo terceiro, quarto e quinto homem: cada um acordou, decidiu separar sua parte,
dividiu os cocos que encontrou em cinco partes iguais, escondeu sua parte, deu o coco
restante ao macaco e voltou a dormir.
 
Pergunta: Quantos cocos tinham inicialmente? 
Resposta: Existem muitas respostas para essa pergunta, mas a menor é 3121.
 
Meu professor está pedindo para que façamos um programa que leia o número de cocos e que calculemos o número de homens.
Ele nos deu uma dica de como fazer:
 
/* ler a quantidades de cocos e selecionar a quantidade de pessoas*/
int main (void){
int qtdc, qtdp, ip; /*quant. de cocos, quant. pessoas e ip eu não entendi o que é*/
printf("digite a quantidade de cocos: ");
scanf ("%d", &qtdc);
while (qtdc > 0){
for (qtdp = qc/2; qtdp > 1 ; ip++ ){
    for(int ip = 0;ip < qtdp; ip++){
            /*atualize a quantidade de cocos qc*/
    if (qc e divisivel por qtdp e sobra 1){
        /* atualiza qtdc*/
    }else {
    break;
    }
}
if (ip < qtdp) {
    /*houve falha*/
    continue;
}
}
if (qtdp == 1){
    printf ("problema sem solução\n");
}
scanf("%d", &qtdc);
if (qc remanescente é divisível po qtdp){
    printf ("%d cocos, %d pessoas, 1 macaco", qtdc, qtdp)
}
printf("fim de programa\n");
return 0;
}
 
Obrigado!
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!