• Anúncio Global
    Respostas
    Exibições
    Última mensagem

[Sequencial] Distribuição

[Sequencial] Distribuição

Mensagempor scifie » Sex Jun 01, 2012 15:30

Olá pessoal,

alguém poderia me indicar o que estudar para resolver um problema - particularmente chamo de distribuição - que manualmente é de fácil resolução mas não sei como fazê-lo matematicamente.

Eis o problema:

Tendo X bolinha, distribuir as bolinhas em N caixas de forma sequencial, tal que os valores presentes nas caixas fiquem uniformemente e sequencialmente distribuídos.

Um exemplo p/ descrever melhor o enunciado confuso:

Quantidade de bolinhas: 7 Quantidade de caixas: 4
Assim sendo, a caixas terão as seguintes qtde de bolinhas: [2][2][2][1]


Outro exemplo:

Quantidade de bolinhas: 13 Quantidade de caixas: 3
Assim sendo, a caixas terão as seguintes qtde de bolinhas: [5][4][4]


A idéia básica é ir colocando as bolinhas uma por uma nas caixas, qndo chegar na última caixa, volta p/ primeira e continua o processo até que as bolinhas acabem.


Alguém poderia me ajudar?
scifie
Novo Usuário
Novo Usuário
 
Mensagens: 2
Registrado em: Sex Jun 01, 2012 15:22
Formação Escolar: GRADUAÇÃO
Área/Curso: Ciência da Computação
Andamento: formado

Re: [Sequencial] Distribuição

Mensagempor LuizAquino » Sex Jun 01, 2012 19:08

scifie escreveu:Olá pessoal,

alguém poderia me indicar o que estudar para resolver um problema - particularmente chamo de distribuição - que manualmente é de fácil resolução mas não sei como fazê-lo matematicamente.

Eis o problema:

Tendo X bolinha, distribuir as bolinhas em N caixas de forma sequencial, tal que os valores presentes nas caixas fiquem uniformemente e sequencialmente distribuídos.

Um exemplo p/ descrever melhor o enunciado confuso:

Quantidade de bolinhas: 7 Quantidade de caixas: 4
Assim sendo, a caixas terão as seguintes qtde de bolinhas: [2][2][2][1]


Outro exemplo:

Quantidade de bolinhas: 13 Quantidade de caixas: 3
Assim sendo, a caixas terão as seguintes qtde de bolinhas: [5][4][4]


A idéia básica é ir colocando as bolinhas uma por uma nas caixas, qndo chegar na última caixa, volta p/ primeira e continua o processo até que as bolinhas acabem.

Alguém poderia me ajudar?


Basta aplicar o princípio de divisão.

Exemplo 1) Quantidade de bolinhas: 7. Quantidade de caixas: 4.

Dividindo 7 por 4 obtemos quociente 1 e resto 3. Ou seja, 7 = 4*1 + 3. Isso significa que primeiro vamos colocar 1 bolinha em cada uma das 4 caixas, mas sobrarão 3 bolinhas. Cada bolinha que sobrou colocaremos em uma das 3 primeiras caixas. Ficamos então com: [2][2][2][1].

Exemplo 2) Quantidade de bolinhas: 13. Quantidade de caixas: 3.

Dividindo 13 por 3 obtemos quociente 4 e resto 1. Ou seja, 13 = 3*4 + 1. Isso significa que primeiro vamos colocar 4 bolinhas em cada uma das 3 caixas, mas sobrará 1. A bolinha que sobrou colocaremos na primeira caixa. Ficamos então com: [5][4][4].
professoraquino.com.br | youtube.com/LCMAquino | @lcmaquino

"Sem esforço, não há ganho."
Dito popular.
Avatar do usuário
LuizAquino
Colaborador Moderador - Professor
Colaborador Moderador - Professor
 
Mensagens: 2654
Registrado em: Sex Jan 21, 2011 09:11
Localização: Teófilo Otoni - MG
Formação Escolar: PÓS-GRADUAÇÃO
Área/Curso: Mestrado - Modelagem Computacional
Andamento: formado

Re: [Sequencial] Distribuição

Mensagempor scifie » Seg Jun 04, 2012 19:47

Valeu :y:

Com isso é possível criar um algoritmo que distribua as bolinhas em apenas O(n) - sendo n a qtde de caixas. Claro que a aplicação para o meu caso não tem nada a ver com bolinhas, hehehe. A questão é determinar quantos espaços deverão ser acrescentados ao espaços já existentes em uma linha de texto de forma que a linha seja apresentada de forma justificada.

Sei que não é um fórum de programação, mas eis aqui o algoritmo utilizando para o problema das bolinhas:

Código: Selecionar todos
#include "stdafx.h"
#include <process.h>

int main(int argc, char* argv[])
{
    int bolinhas, caixas;

    printf("Informe a qtde de bolinhas e caixas!\n");
    int n = scanf("%d %d", &bolinhas, &caixas);
    if (n != 2)
        return 0;

    int qtdePorCaixa = bolinhas / caixas;
    int qtdeRestante = bolinhas - (caixas * qtdePorCaixa);
   
    for (int c = 0; c < caixas; c++)
        printf("Caixa %d contém %d bolinhas\n", c + 1, qtdePorCaixa + (c < qtdeRestante ? 1 : 0));

    system("pause");
    return 0;
}
scifie
Novo Usuário
Novo Usuário
 
Mensagens: 2
Registrado em: Sex Jun 01, 2012 15:22
Formação Escolar: GRADUAÇÃO
Área/Curso: Ciência da Computação
Andamento: formado


Voltar para Sequências

 



  • Tópicos relacionados
    Respostas
    Exibições
    Última mensagem

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes

 



Assunto: Princípio da Indução Finita
Autor: Fontelles - Dom Jan 17, 2010 14:42

Não sei onde este tópico se encaixaria. Então me desculpem.
Eu não entendi essa passagem, alguém pode me explicar?
2n \geq n+1 ,\forall n \in\aleph*
O livro explica da seguinte forma.
1°) P(1) é verdadeira, pois 2.1 \geq 1+1
2°) Admitamos que P(k), k \in \aleph*, seja verdadeira:
2k \geq k+1 (hipótese da indução)
e provemos que 2(k+1) \geq (K+1)+1
Temos: (Nessa parte)
2(k+1) = 2k+2 \geq (k+1)+2 > (k+1)+1


Assunto: Princípio da Indução Finita
Autor: MarceloFantini - Seg Jan 18, 2010 01:55

Boa noite Fontelles.

Não sei se você está familiarizado com o Princípio da Indução Finita, portanto vou tentar explicar aqui.

Ele dá uma equação, no caso:

2n \geq n+1, \forall n \in \aleph^{*}

E pergunta: ela vale para todo n? Como proceder: no primeiro passo, vemos se existe pelo menos um caso na qual ela é verdadeira:

2*1 \geq 1+1

Portanto, existe pelo menos um caso para o qual ela é verdadeira. Agora, supomos que k seja verdadeiro, e pretendemos provar que também é verdadeiro para k+1.

\mbox{Suponhamos que P(k), }k \in \aleph^{*},\mbox{ seja verdadeiro:}
2k \geq k+1

\mbox{Vamos provar que:}
2(k+1) \geq (k+1)+1

Daí pra frente, ele usou o primeiro membro para chegar em uma conclusão que validava a tese. Lembre-se: nunca saia da tese.

Espero ter ajudado.

Um abraço.


Assunto: Princípio da Indução Finita
Autor: Fontelles - Seg Jan 18, 2010 02:28

Mas, Fantini, ainda fiquei em dúvida na passagem que o autor fez (deixei uma msg entre o parêntese).
Obrigado pela ajuda, mesmo assim.
Abraço!


Assunto: Princípio da Indução Finita
Autor: Fontelles - Qui Jan 21, 2010 11:32

Galera, ajuda aí!
Por falar nisso, alguém conhece algum bom material sobre o assunto. O livro do Iezzi, Matemática Elementar vol. 1 não está tão bom.


Assunto: Princípio da Indução Finita
Autor: MarceloFantini - Qui Jan 21, 2010 12:25

Boa tarde Fontelles!

Ainda não estou certo de qual é a sua dúvida, mas tentarei novamente.

O que temos que provar é isso: 2(k+1) \geq (k+1)+1, certo? O autor começou do primeiro membro:

2(k+1)= 2k+2

Isso é verdadeiro, certo? Ele apenas aplicou a distributiva. Depois, partiu para uma desigualdade:

2k+2 \geq (k+1)+2

Que é outra verdade. Agora, com certeza:

(k+1)+2 > (k+1)+1

Agora, como 2(k+1) é \geq a (k+1)+2, e este por sua vez é sempre > que (k+1)+1, logo:

2(k+1) \geq (k+1)+1 \quad \mbox{(c.q.d)}

Inclusive, nunca é igual, sempre maior.

Espero (dessa vez) ter ajudado.

Um abraço.


Assunto: Princípio da Indução Finita
Autor: Caeros - Dom Out 31, 2010 10:39

Por curiosidade estava estudando indução finita e ao analisar a questão realmente utilizar a desigualdade apresentada foi uma grande sacada para este problema, só queria tirar uma dúvida sobre a sigla (c.q.d), o que significa mesmo?


Assunto: Princípio da Indução Finita
Autor: andrefahl - Dom Out 31, 2010 11:37

c.q.d. = como queriamos demonstrar =)


Assunto: Princípio da Indução Finita
Autor: Abelardo - Qui Mai 05, 2011 17:33

Fontelles, um bom livro para quem ainda está ''pegando'' o assunto é:'' Manual de Indução Matemática - Luís Lopes''. É baratinho e encontras na net com facilidade. Procura também no site da OBM, vais encontrar com facilidade material sobre PIF... em alguns sites que preparam alunos para colégios militares em geral também tem excelentes materiais.


Assunto: Princípio da Indução Finita
Autor: MarceloFantini - Qui Mai 05, 2011 20:05

Abelardo, faz 1 ano que o Fontelles não visita o site, da próxima vez verifique as datas.


Assunto: Princípio da Indução Finita
Autor: Vennom - Qui Abr 26, 2012 23:04

MarceloFantini escreveu:Abelardo, faz 1 ano que o Fontelles não visita o site, da próxima vez verifique as datas.

Rpz, faz um ano que o fulano não visita o site, mas ler esse comentário dele enquanto respondia a outro tópico me ajudou. hAUEhUAEhUAEH obrigado, Marcelo. Sua explicação de indução finita me sanou uma dúvida sobre outra coisa. :-D