Re: [obm-l] ALGORITMO BUBBLESORT

2011-09-08 Por tôpico Henrique Rennó
Seja o pseudo-código abaixo do Bubble Sort:

para i = n até 2 faça
   para j = 1 até i-1 faça
  se(valor[j] > valor[j+1])
 troca(valor[j], valor[j+1])
  fim-se
   fim-para
fim-para

quando i = n, j varia de 1 até n-1 --> no máximo n-1 trocas
quando i = n-1, j varia de 1 até n-2 --> no máximo n-2 trocas
...
quando i = 2, j varia de 1 até 1 --> no máximo 1 troca

Máximo de trocas = (n-1 + n-2 + ... + 1) = (n-1 + 1)*(n-1)/2 =
n*(n-1)/2 (Progressão Aritmética)

Para n = 10, n*(n-1)/2 = 10*9/2 = 45

As estruturas de laço e a condição de troca podem variar com a
implementação, mas o Bubble Sort sempre será da ordem O(n^2).

Lista: (8,6,10,7,5)

Varredura 1:
(8,6,10,7,5) troca posições 1,2
(6,8,10,7,5) não troca posições 2,3
(6,8,10,7,5) troca posições 3,4
(6,8,7,10,5) troca posições 4,5
(6,8,7,5,10)

Varredura 2:
(6,8,7,5,10) não troca posições 1,2
(6,8,7,5,10) troca posições 2,3
(6,7,8,5,10) troca posições 3,4
(6,7,5,8,10)

Varredura 3:
(6,7,5,8,10) não troca posições 1,2
(6,7,5,8,10) troca posições 2,3
(6,5,7,8,10)

Varredura 4:
(6,5,7,8,10) troca posições 1,2
(5,6,7,8,10)

4 varreduras.

2011/9/7 arkon :
> Alguém pode dar uma forcinha?
>
> Para colocar em ordem crescente uma lista de n números reais, será utilizado
> o algoritmo conhecido como Bubblesort, que consiste em comparar elementos
> consecutivos da lista, trocando os mesmos de posição se o número da esquerda
> for maior. O processo se inicia da esquerda para a direita. A primeira
> varredura da lista coloca o maior elemento da lista na sua posição
> definitiva. A segunda varredura da lista se faz com a sublista obtida da
> primeira excluindo o último elemento, e assim sucessivamente. Com base nessa
> exposição, julgue os itens subsequentes.
>
> (1) Se n=10, o número de trocas efetuadas será menor ou igual a 45.
> (2) Se a lista é (8,6,10,7,5), será necessárias 3 varreduras para ordenar a
> lista.
>
> Gab.: C, E.
> =
> Instru�ões para entrar na lista, sair da lista e usar a lista em
> http://www.mat.puc-rio.br/~obmlistas/obm-l.html
> =



-- 
Henrique

=
Instru��es para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


Re: [obm-l] ALGORITMO BUBBLESORT

2011-09-07 Por tôpico Tiago Machado
(1)

temos que considerar o pior caso, que é o da lista desordenada de forma
decrescente com o maior elemento no inicio e o maior no final (ex.: de 10 p/
1).

assim, teremos 9 trocas para o 1o elemento
8 para o 2o
7 para o 3o
6 para o 4o
5 para o 5o
4 para o 6o
3 para o 7o
2 para o 8o
1 para o 9o
0 para o 10o que a essa altura já estará ordenado.

ou seja 45 trocas para o pior caso - os outros casos terão menos trocas ou
farão parte de uma lista que não pode ser ordenada...

(2)

1a varredura -> 6,8,7,5,10
2a varredura -> 6,7,5,8, 10
3a varredura -> 6,5,7,8,10
4a varredura -> 5,6,7,8,10
5a varredura (não altera, só verifica) -> 5,6,7,8,10.

se não cometi nenhum erro, são 5 varreduras.

a varredura de verificação ocorre por conta da condição do algoritmo - "caso
haja uma troca repita a varredura" - na penúltima varredura, temos uma
troca, o que satisfaz a condição. como na última varredura não ocorre troca,
o algoritmo está ordenado e a condição de repetição não é satisfeita o que
permite a saída do loop.

2011/9/7 arkon 

> Alguém pode dar uma forcinha?
>
> Para colocar em ordem crescente uma lista de n números reais, será
> utilizado o algoritmo conhecido como Bubblesort, que consiste em comparar
> elementos consecutivos da lista, trocando os mesmos de posição se o número
> da esquerda for maior. O processo se inicia da esquerda para a direita. A
> primeira varredura da lista coloca o maior elemento da lista na sua posição
> definitiva. A segunda varredura da lista se faz com a sublista obtida da
> primeira excluindo o último elemento, e assim sucessivamente. Com base nessa
> exposição, julgue os itens subsequentes.
>
> (1) Se n=10, o número de trocas efetuadas será menor ou igual a 45.
> (2) Se a lista é (8,6,10,7,5), será necessárias 3 varreduras para ordenar a
> lista.
>
> Gab.: C, E.
> =
> Instru�ões para entrar na lista, sair da lista e usar a lista em
> http://www.mat.puc-rio.br/~obmlistas/obm-l.html=


[obm-l] ALGORITMO BUBBLESORT

2011-09-07 Por tôpico arkon
Alguém pode dar uma forcinha?
Para colocar em ordem crescente uma lista de n números reais, será utilizado o algoritmo conhecido como Bubblesort, que consiste em comparar elementos consecutivos da lista, trocando os mesmos de posição se o número da esquerda for maior. O processo se inicia da esquerda para a direita. A primeira varredura da lista coloca o maior elemento da lista na sua posição definitiva. A segunda varredura da lista se faz com a sublista obtida da primeira excluindo o último elemento, e assim sucessivamente. Com base nessa exposição, julgue os itens subsequentes.(1) Se n=10, o número de trocas efetuadas será menor ou igual a 45. (2) Se a lista é (8,6,10,7,5), será necessárias 3 varreduras para ordenar a lista.Gab.: C, E.
=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


Re: [obm-l] Algoritmo de Euclides estendido

2010-10-20 Por tôpico Johann Dirichlet
Suponha que p é divisor de ab, mas não seja de a.
Então a e p serão primos entre si, e assim podemos achar x e y tais que
xa+yp=1
Multiplicando por b, temos
xab+ybp=b
Como xab e ybp são múltiplos de p, a soma também será. É isso!


Em 15/10/10, luiz escreveu:
>
> Alguem pode me ajudar.?
>
>
>
>
>
> O algoritmo de Euclides estendido é o seguinte:
>
> "Dados a e b inteiros, seja d = mdc(a,b) então existem r e s inteiros tais
> que sa+rb=d."
>
> Usando o algoritmo de Euclides estendido mostre que se p é primo e a e b são
> inteiros tais que p é divisor de ab, então p é divisor de a ou p é divisor
> de b.
>


-- 
/**/
Quadrinista e Taverneiro!

http://tavernadofimdomundo.blogspot.com >> Quadrinhos, histórioas e afins
http://baratoeletrico.blogspot.com />> Um pouco sobre elétrons em movimento
http://bridget-torres.blogspot.com/ >> Personal! Do not edit!

=
Instru��es para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


[obm-l] Algoritmo de Euclides estendido

2010-10-15 Por tôpico luiz

Alguem pode me ajudar.?





O algoritmo de Euclides estendido é o seguinte: 

"Dados a e b inteiros, seja d = mdc(a,b) então existem r e s inteiros tais que 
sa+rb=d." 

Usando o algoritmo de Euclides estendido mostre que se p é primo e a e b são 
inteiros tais que p é divisor de ab, então p é divisor de a ou p é divisor de 
b. 


Re: [obm-l] Algoritmo - Grafos

2010-06-02 Por tôpico Davi Costa
Acredito  que seja suficiente criar 2 vértices para cada cidade.
Seja no seu grafo original uma aresta U - V, então veja-as como duas arsetas
direcionadas U -> V e V -> U

Dado então uma aresta direcionada U -> V
Criamos então os vértice Ua, Ub, Va e Vb.

Coloca-se então as seguintes arestas direcionadas:
Ua -> Vb (tempo correndo)
Ua -> Ub (tempo 0)
Ub -> Va (tempo andando)

Perceba que você só pode correr saindo de um vértice do tipo 'a' e perceba
também que você só chega em um vértice do tipo 'a' andando.
Faça sua origem ser Origema e seu destino ser Destinob.

Sua solução então será um Dijkstra de Origema

2010/6/1 Eduardo Melo 

> Obrigado pelo conselho! Mas já tinha em mente a implementação com
> Dijkstra... no entanto alguns problemas vieram à tona.
> Eu tentei achar o "caminho" mínimo(que nesse caso é o tempo), considerando
> inicialmente apenas os pesos das arestas(ou seja, somente a situação em que
> a pessoa caminha, nunca corre), para depois fazer verificações de quando a
> pessoa corre. Só depois percebi que isso está errado, pois o tempo mínimo
> pode ser alcançado através de uma árvore que não é a geradora de peso
> mínimo. Por exemplo, pode existir um caminho de peso 5001, que não passa por
> nenhuma sub-cidade. Nesse caso a pessoa poderia ir correndo até chegar no
> destino. Mas poderia existir um caminho minimo, com peso 5000, passando por
> várias sub-cidades(e consequentemente a pessoa teria que parar de correr
> várias vezes), que não iria gerar um tempo mínimo.
>


Re: [obm-l] Algoritmo - Grafos

2010-06-01 Por tôpico Eduardo Melo
Obrigado pelo conselho! Mas já tinha em mente a implementação com
Dijkstra... no entanto alguns problemas vieram à tona.
Eu tentei achar o "caminho" mínimo(que nesse caso é o tempo), considerando
inicialmente apenas os pesos das arestas(ou seja, somente a situação em que
a pessoa caminha, nunca corre), para depois fazer verificações de quando a
pessoa corre. Só depois percebi que isso está errado, pois o tempo mínimo
pode ser alcançado através de uma árvore que não é a geradora de peso
mínimo. Por exemplo, pode existir um caminho de peso 5001, que não passa por
nenhuma sub-cidade. Nesse caso a pessoa poderia ir correndo até chegar no
destino. Mas poderia existir um caminho minimo, com peso 5000, passando por
várias sub-cidades(e consequentemente a pessoa teria que parar de correr
várias vezes), que não iria gerar um tempo mínimo.


Re: [obm-l] Algoritmo - Grafos

2010-06-01 Por tôpico Andriel Carlos
Bom, como estou vendo grafos em matemática discreta posso tentar te
ajudar... um bom algoritmo eficiente pra esse problema é o algoritmo de
Dijkstra. Em análise de algoritmos é essa solução apresentada por Dijkstra
tem um tempo computacional O(A+V)lnV, no qual ele se torna muito
eficiente... abraço.


[obm-l] Algoritmo - Grafos

2010-06-01 Por tôpico Eduardo Melo
Pessoal, estou tentando implementar um algoritmo que calcula o tempo mínimo
necessario para fazer com que alguém saia de uma cidade e chegue em outra,
com as seguintes condições:
1 - Existe um conjunto de cidades com estradas interligando algumas delas. A
pessoa deverá ir andando pelas estradas até chegar na cidade destino.
2 - A pessoa pode sair de uma cidade e chegar a outra de duas formas:
correndo ou caminhando. Se a pessoa for correndo, o tempo de travessia será
5 vezes menor do que se a pessoa for caminhando.
3 - A pessoa não consegue correr durante a travessia de duas cidades
consecutivas.

A entrada para a implementação do algoritmo é um grafo não-direcionado, onde
os vertices do grafo corresponde às cidades, as arestas são as estradas, e o
peso das arestas corresponde ao tempo gasto na travessia dessa estrada
quando o percurso é feito caminhando. A cidade de origem e destino são
indicados na entrada.
A saída deve ser o tempo mínimo para sair da cidade origem e chegar na
cidade destino.

Estou a procura de um algoritmo eficiente para resolver esse problema,
alguém tem alguma idéia?


Re: [obm-l] Algoritmo III

2010-04-08 Por tôpico Francisco Barreto
Vou tentar essa também. Pode ter algo errado. Pensa aí.
Precisamos de um ponteiro para o primeiro elemento da lista. Vamos varrer a
lista. Vamos procurar o nó que guarda R real, tomando cuidado para guardar o
nó anterior ao nó de R, se existir. Para depois ligar o nó anterior ao nó de
R ao sucessor do nó que guarda R. E depois liberamos o nó de R.
digamos que ele seja prim,

p < prim;
encontrou <--- falso;
enquanto (p != nil) e nao(encontrou) {
 se p^.dado == R então encontrou=verdade
 senao {
aux <--- p;
p < p^.proximo;
 }
}
se encontrou {
   se p == prim {
  prim <---  p^.proximo;
   } senao {
  aux^.proximo <--- p^.proximo;
  }
 liberar(p)
 retornar verdade
} senao retornar falso;


Em 8 de abril de 2010 17:13, Diogo FN  escreveu:

> Boa Tarde, pessoal da lista.
>
> Então, me ajuda nessa?
>
> * Escrever em linguagem algoritmica um procedimento para alimentar uma
> lista encadeada e um número real e suprimir a primeira ocorrência desse
> número na lista ou indicar que o número não pertence à lista.
>
>
>


Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Francisco Barreto
Copia A para uma string S. Você deve ser capaz de acessar o comprimento de
S. Faça uma estrutura de repetição para varrer todos os caracteres da string
S, do primeiro elemento até o comprimento. Para cada valor de S[i], anexe-o
ao final de A. Você deve ter uma função para fazer isso.

Você pode pensar numa string como um vetor ou lista encadeada de caracteres
por exemplo.

A parte de definir e imprimir é fácil né.


Em 8 de abril de 2010 17:07, Diogo FN  escreveu:

> Boa Tarde, pessoal da lista.
>
> Então, me ajuda nessa?
>
> * Dada uma string A e um número N, definir e imprimir uma string B que
> consiste na reprodução da cadeia A, N vezes.
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10-
> Celebridades-
> Música-
> Esportes
>


Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Bruno França dos Reis
Usarei notação F# para os algoritmos.

1) Algoritmo imperativo, que depende de mutabilidade:
let mutable i = n
let mutable B = ""
while i > 0 do
B <- B + A
i <- i - 1
printf "%A" B

2) Algoritmo recursivo, apenas com valores imutáveis:
let rec concatena A = function
| 1 -> A
| i -> A + concatena A (i-1)
printf "%A" (concatena A n)

3) Algoritmo recursivo com "tail-recursion" (evita stack-overflow) usando
acumulador:
let rec concatena A acc = function
| 0 -> acc
| i -> concatena A (acc + A) (i - 1)
printf "%A" (concatena A "" n)

4) Algoritmo recursivo com "continuation passing style" (evita
stack-overflow):
let rec concatena (A:string) f = function
| 1 -> f A
| i -> concatena A (fun s -> f(A) + s) (i - 1)
printf "%A" (concatena A (fun x -> x) n)



Para quem tem background de C, Pascal, ou derivados ou similares, a solução
1 deve ser a mais óbvia. É aquela que vc diz ao computador exatamente o que
fazer a cada passo, alterando o valor das variáveis (por isso se chama
imperativa).

Mas perceba que a solução 2 é muito mais simples de se compreender. Ela
quebra o problema em 2 problemas: um trivial, e outro reduzido. O trivial é:
concatenar 1 vez é o mesmo que retornar a própria string. O reduzido é:
concatenar n vezes é o mesmo que concatenar A ao resultado da concatenação
de (n-1) vezes.

As soluções 3 e 4 são a mesma coisa que a 2, mas usam duas técnicas
distintas para permitir ao compilador de criar certas otimizações que
impossibilitarão um problema de "stack-overflow" por conta de um grande
número de chamadas recursivas.

A solução 3 usa "tail recursion", isto é, a chamada recursiva é a última
coisa que se faz na função. O compilador pode, nesse caso, transformar essa
chamada recursiva num loop. No final, o código compilado será muito próximo
ao código da solução 1, só que vc pôde obter esse código escrevendo seu
algoritmo duma forma de bem mais alto nível.

A solução 4 usa o que se chama "continuation passing style", isto é, vc
passa à função uma outra função que deve ser chamada assim que a primeira
terminar de executar. Esse talvez seja o mais difícil de "pegar a idéia" pra
quem não está acostumado. Isso só é possível de se fazer de maneira simples
em linguagens "funcionais".


Bruno

--
Bruno FRANÇA DOS REIS

msn: brunoreis...@hotmail.com
skype: brunoreis666
tel: +55 11 9961-7732

http://brunoreis.com
http://brunoreis.com/tech (en)
http://brunoreis.com/blog (pt)

GPG Key: http://brunoreis.com/bruno-public.key

e^(pi*i)+1=0


2010/4/8 Diogo FN 

> Boa Tarde, pessoal da lista.
>
> Então, me ajuda nessa?
>
> * Dada uma string A e um número N, definir e imprimir uma string B que
> consiste na reprodução da cadeia A, N vezes.
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10-
> Celebridades-
> Música-
> Esportes
>


Re: [obm-l] Algoritmo II

2010-04-08 Por tôpico Francisco Barreto
Correção: a minha pergunta sobre o numero de algarismos do mes foi para o
caso em que o mês é menor que 10

Em 8 de abril de 2010 17:53, Francisco Barreto
escreveu:

> Qual linguagem você está usando? Penso na seguinte estratégia, de quebrar a
> string em partes, lendo os caracteres. Mas a data tem que ser padronizada,
> por exemplo, o mês na entrada é sempre com 1 algarismo?
> você tem que ler a primeira string C de entrada, ler o primeiro caracter,
> ai adiciona ele em uma string DIA, dai você le o segundo caracter de C e
> adiciona no final de DIA.
> Blz. Tem que quebrar a data. Sabemos agora que vem um '/', entao você pula
> esse caracter (voce pode dar um comando de leitura mas nao salvar o
> caracter). Faça agora a mesma coisa pra uma String MES e depois para ANO.
> Ai eh só imprimir com uma nova estrutura.
> Imaginei que você não quisesse a resposta assim de bandeja em C++,
> Python,... Se quiser avisa, e diz a linguagem. Que eu te mando por email e
> nao pra lista
>
>
> Em 8 de abril de 2010 17:11, Diogo FN  escreveu:
>
> Boa Tarde, pessoal da lista.
>>
>> Então, me ajuda nessa?
>>
>> Faça um algoritmo para:
>>
>> * A entrada de dados de um algoritmo consiste na data atual e esta é
>> fornecida por um string em que dia, mês e ano são dados nesta ordem e
>> separadas por barra. Deseja-se transformar essa cadeia, modificando a ordem
>> para mês/dia/ano e padronizando o formato para xx/xx/, isto é, com dois
>> dígitos para mês e quatro para ano.
>>
>> Exemplo
>>
>> Entrada: 22/3/1991 ---
>> Saída: 03/22/1991
>> Entrada: 22/3/91 ---
>> Saída: 03/22/1991
>>
>>
>>
>> --
>> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
>> 10-
>> Celebridades-
>> Música-
>> Esportes
>>
>
>


Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Bernardo Freitas Paulo da Costa
Hum, essa devia ser uma lista de problemas olímpicos de matemática. Ao
meu ver, falhou tanto o quesito olímpico como o matemático, parecendo
mais uma lista de exercícios de Programação I ...

--
Bernardo Freitas Paulo da Costa

2010/4/8 Francisco Barreto 
>
> O que eu disse abaixo só vale para N=2. Para reproduzir mais vezes, tenta 
> fazer um loop
> Em 8 de abril de 2010 17:37, Francisco Barreto  
> escreveu:
>>
>> Copia A para uma string S. Você deve ser capaz de acessar o comprimento de 
>> S. Faça uma estrutura de repetição para varrer todos os caracteres da string 
>> S, do primeiro elemento até o comprimento. Para cada valor de S[i], anexe-o 
>> ao final de A. Você deve ter uma função para fazer isso.
>> Você pode pensar numa string como um vetor ou lista encadeada de caracteres 
>> por exemplo.
>> A parte de definir e imprimir é fácil né.
>>
>> Em 8 de abril de 2010 17:07, Diogo FN  escreveu:
>>>
>>> Boa Tarde, pessoal da lista.
>>>
>>> Então, me ajuda nessa?
>>>
>>> * Dada uma string A e um número N, definir e imprimir uma string B que 
>>> consiste na reprodução da cadeia A, N vezes.
>>>

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


Re: [obm-l] Algoritmo II

2010-04-08 Por tôpico Francisco Barreto
Qual linguagem você está usando? Penso na seguinte estratégia, de quebrar a
string em partes, lendo os caracteres. Mas a data tem que ser padronizada,
por exemplo, o mês na entrada é sempre com 1 algarismo?
você tem que ler a primeira string C de entrada, ler o primeiro caracter, ai
adiciona ele em uma string DIA, dai você le o segundo caracter de C e
adiciona no final de DIA.
Blz. Tem que quebrar a data. Sabemos agora que vem um '/', entao você pula
esse caracter (voce pode dar um comando de leitura mas nao salvar o
caracter). Faça agora a mesma coisa pra uma String MES e depois para ANO.
Ai eh só imprimir com uma nova estrutura.
Imaginei que você não quisesse a resposta assim de bandeja em C++,
Python,... Se quiser avisa, e diz a linguagem. Que eu te mando por email e
nao pra lista


Em 8 de abril de 2010 17:11, Diogo FN  escreveu:

> Boa Tarde, pessoal da lista.
>
> Então, me ajuda nessa?
>
> Faça um algoritmo para:
>
> * A entrada de dados de um algoritmo consiste na data atual e esta é
> fornecida por um string em que dia, mês e ano são dados nesta ordem e
> separadas por barra. Deseja-se transformar essa cadeia, modificando a ordem
> para mês/dia/ano e padronizando o formato para xx/xx/, isto é, com dois
> dígitos para mês e quatro para ano.
>
> Exemplo
>
> Entrada: 22/3/1991 ---
> Saída: 03/22/1991
> Entrada: 22/3/91 ---
> Saída: 03/22/1991
>
>
>
> --
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10-
> Celebridades-
> Música-
> Esportes
>


Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Francisco Barreto
O que eu disse abaixo só vale para N=2. Para reproduzir mais vezes, tenta
fazer um loop

Em 8 de abril de 2010 17:37, Francisco Barreto
escreveu:

> Copia A para uma string S. Você deve ser capaz de acessar o comprimento de
> S. Faça uma estrutura de repetição para varrer todos os caracteres da string
> S, do primeiro elemento até o comprimento. Para cada valor de S[i], anexe-o
> ao final de A. Você deve ter uma função para fazer isso.
>
> Você pode pensar numa string como um vetor ou lista encadeada de caracteres
> por exemplo.
>
> A parte de definir e imprimir é fácil né.
>
>
> Em 8 de abril de 2010 17:07, Diogo FN  escreveu:
>
> Boa Tarde, pessoal da lista.
>>
>> Então, me ajuda nessa?
>>
>> * Dada uma string A e um número N, definir e imprimir uma string B que
>> consiste na reprodução da cadeia A, N vezes.
>>
>> --
>> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
>> 10-
>> Celebridades-
>> Música-
>> Esportes
>>
>
>


Re: [obm-l] Algoritmo III

2010-04-08 Por tôpico Felipe Martins
...

Em 8 de abril de 2010 17:13, Diogo FN  escreveu:

> Boa Tarde, pessoal da lista.
>
> Então, me ajuda nessa?
>
> * Escrever em linguagem algoritmica um procedimento para alimentar uma
> lista encadeada e um número real e suprimir a primeira ocorrência desse
> número na lista ou indicar que o número não pertence à lista.
>
>
>


[obm-l] Algoritmo III

2010-04-08 Por tôpico Diogo FN
Boa Tarde, pessoal da lista.

Então, me ajuda nessa?

* Escrever em linguagem algoritmica um procedimento para alimentar uma lista 
encadeada e um número real e suprimir a primeira ocorrência desse número na 
lista ou indicar que o número não pertence à lista.



  

[obm-l] Algoritmo II

2010-04-08 Por tôpico Diogo FN
Boa Tarde, pessoal da lista.

Então, me ajuda nessa?

Faça um algoritmo para:

* A entrada de dados de um algoritmo consiste na data atual e esta é fornecida 
por um string em que dia, mês e ano são dados nesta ordem e separadas por 
barra. Deseja-se transformar essa cadeia, modificando a ordem para mês/dia/ano 
e padronizando o formato para xx/xx/, isto é, com dois dígitos para mês e 
quatro para ano.

Exemplo

Entrada: 22/3/1991 --- Saída: 
03/22/1991
Entrada: 22/3/91 --- Saída: 
03/22/1991


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[obm-l] Algoritmo

2010-04-08 Por tôpico Diogo FN
Boa Tarde, pessoal da lista.

Então, me ajuda nessa?

* Dada uma string A e um número N, definir e imprimir uma string B que consiste 
na reprodução da cadeia A, N vezes.



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

Re: [obm-l] Algoritmo

2009-09-21 Por tôpico Pedro Cardoso
Oi, Teofilo.
Em C, basta ver se (num&1) = 1 (que, no caso, é ver se (num&1) == 1 ).
É mais rápido do que div e mod, eu acho.
Pesquise na web o que significa o operador "&".

Agora, se não vale trapaça, mas valer olhar o sinal do número, então faz,
para números positivos:

vai tirando 2 do número até num <= 0.
Se num < 0, então é ímpar (foi de 1 para -1)
Se num = 0, então é par. (foi de 2 para 0)

Se num for de cara negativo, rode o algoritmo com (-num).
Mas é um algoritmo horrível!

Abraços,

Pedro.

2009/9/21 Teofilo Viturino 

>
> Como construir um algoritmo que determine se um número é par ou impar sem
> usar DIV e MOD? Alguém poderia me ajudar com essa?
>
> --
> Teófilo Viturino
> (81) 8771-0500
>
>
>


Re: [obm-l] Algoritmo

2009-09-21 Por tôpico Rafael Assato Ando
Se puder ser meio ineficiente, dá pra fazer:

se (-1)^n = 1, retorna par
caso contrário, ímpar

Se vc puder ler o bit menos significativo tb sai direto (não sei se vc
consideraria isso como "roubar", pq na prática vc fez um mod 2...):

se (n&1=0) retorna par
caso contrário ímpar

2009/9/21 Teofilo Viturino 

>
> Como construir um algoritmo que determine se um número é par ou impar sem
> usar DIV e MOD? Alguém poderia me ajudar com essa?
>
> --
> Teófilo Viturino
> (81) 8771-0500
>
>
>


-- 
Rafael


[obm-l] Algoritmo

2009-09-21 Por tôpico Teofilo Viturino
Como construir um algoritmo que determine se um número é par ou impar sem
usar DIV e MOD? Alguém poderia me ajudar com essa?

-- 
Teófilo Viturino
(81) 8771-0500


Re: [obm-l] Algoritmo...

2009-09-03 Por tôpico victor alves
aqui vai o algoritmo para a resoluçao do problema
o grande segredo é você armazenar o ultimo valor impresso
ao inves de tentar escreve-lo em função da linha
 
algoritmo floyd
variaveis
inteiro linhaAtual  
inteiro totalLinhas 
inteiro valorAtual 
inteiro contador 
 
inicio
valorAtual <--1 < o simbolo <-- quer dizer 
recebe>
escreva "quantas linhas voce quer?"
leia totalLinhas
para( linhaAtual de 1 ate totalLinhas) faca
  para(contador de 1 ate linhaAtual) faca
    escreva valorAtual
    escreva " "   
    valorAtual <-- valorAtual+1
  fimpara
  linhaAtual <-- LinhaAtual+1
  escreva nova linha   
fimpara
fimalgoritmo
  

--- Em ter, 1/9/09, Diogo FN  escreveu:


De: Diogo FN 
Assunto: [obm-l] Algoritmo...
Para: "OBM" 
Data: Terça-feira, 1 de Setembro de 2009, 23:37






Blz com vocês?
 
Alguem já ouviu falar no triângulo de Floyd em programação?
Enuncio: " 
(Triangulo de Floyd) O seguinte triangulo formado por 6 linhas de numeros 
consecutivos, cada linha
contendo um numero a mais que na linha anterior, é chamado de Triangulo de 
Floyd."
 
Ou seja,
 
1
2 3
4 5 6
7 8 9 10
...
 
Quem pode ajudar a criar um algoritmo para esse problema?
 
Eu comecei tentando assim:
 
Algoritmo Floyd
variaveis
inteiros    i    
inteiros    j 
inteiros    k    
inteiros    m   
 
Inicio
Escreva "Quantas linhas você quer?"
Leia m
k <= 0
Para (i <= 1 ate i=m) Faca
Para (j <= 1 ate i) faca
j <= k+1
 
FIZ ATÉ AQUI.. AGUÉM PODE ME AJUDAR COM  O RESTO?
 
Obrigado pela atenção.


Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - 
Celebridades - Música - Esportes


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[obm-l] Algoritmo...

2009-09-02 Por tôpico Diogo FN
Blz com vocês?
 
Alguem já ouviu falar no triângulo de Floyd em programação?
Enuncio: "(Triangulo de Floyd) O seguinte triangulo formado por 
contendo um numero a mais que na linha anterior, é chamado de Triangulo de 
Floyd."
 
Ou seja,
 
1
2 3
4 5 6
7 8 9 10
...
 
Quem pode ajudar a criar um algoritmo para esse problema?
 
Eu comecei tentando assim:
 
Algoritmo Floyd
variaveis
inteiros    i    inteiros    k    
inteiros    m   
 
Inicio
Escreva "Quantas linhas você quer?"
Leia m
k <= 0
Para (i <= 1 ate i=m) Faca
Para (j <= 1 ate i) faca
j <= k+1
 
FIZ ATÉ AQUI.. AGUÉM PODE ME AJUDAR COM  O RESTO?
 
Obrigado pela atenção.inteiros    j 6 linhas de 
numeros consecutivos, cada linha


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

Re: Res: [obm-l] Algoritmo

2007-09-27 Por tôpico Fetofs Ashu
O algoritmo que usei para achar soluções enormes (escrevi em C) foi
basicamente desse jeito:

1) Descubra todos os números possíveis com b positivo (ou seja, para cada a
com a²<1000, teste os b's). Essa parte é muito simples e rápida.

2) Achar os números com b negativo:

- Volte o a para 0 (importante, porque há soluções com a²<1000 e b<0), e
comece a diminuir o b (começando de -1). Eu escolhi ir diminuindo o "b" e
não o "a" porque tem menos b's do que a's em qualquer solução.

- Para um determinado "b", todos os possíveis "a" são dados pela inequação:
100
#include "gmp.h"

int main() {
mpz_t b, a, b_cbd, min_val, max_val, sum, a_sq;
mpz_init_set_si(b, -1);

mpz_init(a);
mpz_init(b_cbd);
mpz_init(min_val);
mpz_init(max_val);
mpz_init(sum);
mpz_init(a_sq);

while (1) {
mpz_pow_ui(b_cbd, b, 3);

mpz_ui_sub(min_val, 100, b_cbd);
if (mpz_perfect_square_p(min_val)) {
mpz_sqrt(min_val, min_val);
}
else {
mpz_sqrt(min_val, min_val);
mpz_add_ui(min_val, min_val, 1);
}

mpz_ui_sub(max_val, 999, b_cbd);
mpz_sqrt(max_val, max_val);
mpz_add_ui(max_val, max_val, 1);

mpz_set(a, min_val);
while (mpz_cmp(a, max_val) == -1) {
mpz_pow_ui(a_sq, a, 2);
mpz_add(sum, b_cbd, a_sq);

mpz_out_str(NULL, 10, sum);
printf(" ");
mpz_out_str(NULL, 10, a);
printf(" ");
mpz_out_str(NULL, 10, b);
printf("\n");

mpz_add_ui(a, a, 1);
}

mpz_sub_ui(b, b, 1);
}
}

Quem te passou esse problema disse que ele podia ser resolvido? Ou você está
satisfazendo um "problema-curiosidade"? Se for a segunda opção, é possível
que você nunca encontre todos os valores possíveis. Se for a primeira,
talvez tenha um jeito matemático de reduzir os possíveis valores finais...


Re: Res: [obm-l] Algoritmo

2007-09-26 Por tôpico Samir Rodrigues
Esqueçam sobre a função geratriz

Em 26/09/07, Samir Rodrigues <[EMAIL PROTECTED]> escreveu:
>
> Conjectura de Danilo, hehehehehehe
> Vc pode tentar comprovar isso montando um programa que começe com a²=1, e
> vai variando b no sentido positivo e vá vendo os numeros de 3 algarismos
> formados; faça isso enquanto a²<1000; quando a²=1000, faça-0 continar
> aumentando, e agora faça b variar no sentido negativo; há uma grande chance
> dessa sua conjectura está correta.
> Vc também pode tentar contar na forma de funcao geratriz, mas aí daria
> trabalho
>
> Em 26/09/07, Danilo Nascimento < [EMAIL PROTECTED]> escreveu:
> >
> > Será que baseado no fato de o limite não existir eu posso afirmar
> > que TODOS os numeros de três algarismos podem ser escritos como a soma de um
> > quadrado e um cubo.
> > X=a^2+b^3 onde a e b são inteiros quaisquer.
> >
> > - Mensagem original 
> > De: Danilo Nascimento < [EMAIL PROTECTED]>
> > Para: obm-l@mat.puc-rio.br
> > Enviadas: Segunda-feira, 24 de Setembro de 2007 14:08:01
> > Assunto: Res: [obm-l] Algoritmo
> >
> >  Se tal limite não existe, como que eu vou fazer um algoritmo então?
> > Será que eu vou ter que usar os limites que a linguagem oferece? Dá algo em
> > torno de 2 bilhões. Mas qual a garantia que eu tenho que eu vou achar todos
> > os numeros de três algarismos?
> > Parece ser complicado.
> >
> > - Mensagem original 
> > De: Fetofs Ashu < [EMAIL PROTECTED]>
> > Para: obm-l@mat.puc-rio.br
> > Enviadas: Sábado, 22 de Setembro de 2007 14:35:34
> > Assunto: Re: [obm-l] Algoritmo
> >
> > Eu acho que não há limites para a e b, se b pode ser negativo. Tome como
> > exemplo a = 38339 e b = -1137 (resultado 568). Tenho certeza de que se
> > continuasse acharia valores maiores ainda...
> >
> > Fernando Oliveira
> >
> > On 9/21/07, Danilo Nascimento < [EMAIL PROTECTED]> wrote:
> > >
> > >  Olá pessoal
> > >   estou tentando desenvolver um algoritmo em
> > > Pascal para achar todos os números de 3 algarismos que podem ser escritos
> > > como a soma de um quadrado e um cubo. Só que tem um problema, como achar 
> > > os
> > > limites dos valores que estão variando o contador?
> > > Por exemplo :  100 > > de a e b, que podem ser tanto positivos quanto negativos. Eu fiz na base 
> > > da
> > > tentativa e erro e achei que o máximo de a seria 941 e o mínimo de b=-96.
> > > Não sei se são exatamente esses os valores. Mas de qualquer forma como eu
> > > faria isso de um modo formal?
> > > Agradeço desde já qualquer ajuda.
> > >
> > >
> > > Flickr agora em português. Você clica, todo mundo vê. Saiba mais
> > > <http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
> > >
> > >
> >
> >
> >
> > Flickr agora em português. Você clica, todo mundo vê. Saiba 
> > mais<http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
> >
> >
> >
> > Flickr agora em português. Você clica, todo mundo vê. Saiba mais
> > <http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
> >
> >
>
>
>
> --
> Samir Rodrigues




-- 
Samir Rodrigues


Re: Res: [obm-l] Algoritmo

2007-09-26 Por tôpico Samir Rodrigues
Conjectura de Danilo, hehehehehehe
Vc pode tentar comprovar isso montando um programa que começe com a²=1, e
vai variando b no sentido positivo e vá vendo os numeros de 3 algarismos
formados; faça isso enquanto a²<1000; quando a²=1000, faça-0 continar
aumentando, e agora faça b variar no sentido negativo; há uma grande chance
dessa sua conjectura está correta.
Vc também pode tentar contar na forma de funcao geratriz, mas aí daria
trabalho

Em 26/09/07, Danilo Nascimento <[EMAIL PROTECTED]> escreveu:
>
> Será que baseado no fato de o limite não existir eu posso afirmar
> que TODOS os numeros de três algarismos podem ser escritos como a soma de um
> quadrado e um cubo.
> X=a^2+b^3 onde a e b são inteiros quaisquer.
>
> - Mensagem original 
> De: Danilo Nascimento <[EMAIL PROTECTED]>
> Para: obm-l@mat.puc-rio.br
> Enviadas: Segunda-feira, 24 de Setembro de 2007 14:08:01
> Assunto: Res: [obm-l] Algoritmo
>
>  Se tal limite não existe, como que eu vou fazer um algoritmo então? Será
> que eu vou ter que usar os limites que a linguagem oferece? Dá algo em torno
> de 2 bilhões. Mas qual a garantia que eu tenho que eu vou achar todos os
> numeros de três algarismos?
> Parece ser complicado.
>
> - Mensagem original 
> De: Fetofs Ashu <[EMAIL PROTECTED]>
> Para: obm-l@mat.puc-rio.br
> Enviadas: Sábado, 22 de Setembro de 2007 14:35:34
> Assunto: Re: [obm-l] Algoritmo
>
> Eu acho que não há limites para a e b, se b pode ser negativo. Tome como
> exemplo a = 38339 e b = -1137 (resultado 568). Tenho certeza de que se
> continuasse acharia valores maiores ainda...
>
> Fernando Oliveira
>
> On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote:
> >
> >  Olá pessoal
> >   estou tentando desenvolver um algoritmo em Pascal
> > para achar todos os números de 3 algarismos que podem ser escritos como a
> > soma de um quadrado e um cubo. Só que tem um problema, como achar os limites
> > dos valores que estão variando o contador?
> > Por exemplo :  100 > a e b, que podem ser tanto positivos quanto negativos. Eu fiz na base da
> > tentativa e erro e achei que o máximo de a seria 941 e o mínimo de b=-96.
> > Não sei se são exatamente esses os valores. Mas de qualquer forma como eu
> > faria isso de um modo formal?
> > Agradeço desde já qualquer ajuda.
> >
> >
> > Flickr agora em português. Você clica, todo mundo vê. Saiba mais
> > <http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
> >
> >
>
>
>
> Flickr agora em português. Você clica, todo mundo vê. Saiba 
> mais<http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
>
>
>
> Flickr agora em português. Você clica, todo mundo vê. Saiba 
> mais<http://br.rd.yahoo.com/mail/taglines/flickr/*http://www.flickr.com.br/>.
>
>



-- 
Samir Rodrigues


Res: Res: [obm-l] Algoritmo

2007-09-26 Por tôpico Danilo Nascimento
Será que baseado no fato de o limite não existir eu posso afirmar que TODOS os 
numeros de três algarismos podem ser escritos como a soma de um quadrado e um 
cubo.
X=a^2+b^3 onde a e b são inteiros quaisquer.


- Mensagem original 
De: Danilo Nascimento <[EMAIL PROTECTED]>
Para: obm-l@mat.puc-rio.br
Enviadas: Segunda-feira, 24 de Setembro de 2007 14:08:01
Assunto: Res: [obm-l] Algoritmo


Se tal limite não existe, como que eu vou fazer um algoritmo então? Será que eu 
vou ter que usar os limites que a linguagem oferece? Dá algo em torno de 2 
bilhões. Mas qual a garantia que eu tenho que eu vou achar todos os numeros de 
três algarismos? 
Parece ser complicado.


- Mensagem original 
De: Fetofs Ashu <[EMAIL PROTECTED]>
Para: obm-l@mat.puc-rio.br
Enviadas: Sábado, 22 de Setembro de 2007 14:35:34
Assunto: Re: [obm-l] Algoritmo

Eu acho que não há limites para a e b, se b pode ser negativo. Tome como 
exemplo a = 38339 e b = -1137 (resultado 568). Tenho certeza de que se 
continuasse acharia valores maiores ainda...

Fernando Oliveira


On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote: 
Olá pessoal
  estou tentando desenvolver um algoritmo em Pascal para 
achar todos os números de 3 algarismos que podem ser escritos como a soma de um 
quadrado e um cubo. Só que tem um problema, como achar os limites dos valores 
que estão variando o contador? 
Por exemplo :  100http://www.flickr.com.br/

Res: [obm-l] Algoritmo

2007-09-24 Por tôpico Danilo Nascimento
Se tal limite não existe, como que eu vou fazer um algoritmo então? Será que eu 
vou ter que usar os limites que a linguagem oferece? Dá algo em torno de 2 
bilhões. Mas qual a garantia que eu tenho que eu vou achar todos os numeros de 
três algarismos? 
Parece ser complicado.


- Mensagem original 
De: Fetofs Ashu <[EMAIL PROTECTED]>
Para: obm-l@mat.puc-rio.br
Enviadas: Sábado, 22 de Setembro de 2007 14:35:34
Assunto: Re: [obm-l] Algoritmo

Eu acho que não há limites para a e b, se b pode ser negativo. Tome como 
exemplo a = 38339 e b = -1137 (resultado 568). Tenho certeza de que se 
continuasse acharia valores maiores ainda...

Fernando Oliveira


On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote:
Olá pessoal
  estou tentando desenvolver um algoritmo em Pascal para 
achar todos os números de 3 algarismos que podem ser escritos como a soma de um 
quadrado e um cubo. Só que tem um problema, como achar os limites dos valores 
que estão variando o contador? 
Por exemplo :  100http://www.flickr.com.br/

Re: [obm-l] Algoritmo

2007-09-22 Por tôpico Fetofs Ashu
Eu acho que não há limites para a e b, se b pode ser negativo. Tome como
exemplo a = 38339 e b = -1137 (resultado 568). Tenho certeza de que se
continuasse acharia valores maiores ainda...

Fernando Oliveira

On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote:
>
> Olá pessoal
>   estou tentando desenvolver um algoritmo em Pascal
> para achar todos os números de 3 algarismos que podem ser escritos como a
> soma de um quadrado e um cubo. Só que tem um problema, como achar os limites
> dos valores que estão variando o contador?
> Por exemplo :  100 e b, que podem ser tanto positivos quanto negativos. Eu fiz na base da
> tentativa e erro e achei que o máximo de a seria 941 e o mínimo de b=-96.
> Não sei se são exatamente esses os valores. Mas de qualquer forma como eu
> faria isso de um modo formal?
> Agradeço desde já qualquer ajuda.
>
>
> Flickr agora em português. Você clica, todo mundo vê. Saiba 
> mais.
>
>


Res: [obm-l] Algoritmo

2007-09-22 Por tôpico Danilo Nascimento
Olá Marcelo,
 acho que não vai funcionar desse jeito. Eu, por exemplo, 
posso tomar a=33 e b=-5 
a^2+b^3 = 964. Eu estaria excluindo esse número.
[]'s.


- Mensagem original 
De: Marcelo Salhab Brogliato <[EMAIL PROTECTED]>
Para: obm-l@mat.puc-rio.br
Enviadas: Sexta-feira, 21 de Setembro de 2007 21:41:06
Assunto: Re: [obm-l] Algoritmo


Olá Danilo,

fica aqui uma sugestão:
Considere b=0, entao: 100 < a^2 < 999  10 < |a| < 32 [soh pra arredondar]
Do mesmo modo, vc acha: 4 < |b| < 10
faca a variar de 10 à 32... b variar de 4 à 10...
se a soma passar de 999, dê um break no for interno e passe para o proximo...

abracos,
Salhab


On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote:
>
> Olá pessoal
>   estou tentando desenvolver um algoritmo em Pascal para
> achar todos os números de 3 algarismos que podem ser escritos como a soma de
> um quadrado e um cubo. Só que tem um problema, como achar os limites dos
> valores que estão variando o contador?
> Por exemplo :  100 b, que podem ser tanto positivos quanto negativos. Eu fiz na base da
> tentativa e erro e achei que o máximo de a seria 941 e o mínimo de b=-96.
> Não sei se são exatamente esses os valores. Mas de qualquer forma como eu
> faria isso de um modo formal?
> Agradeço desde já qualquer ajuda.
>
>  Flickr agora em português. Você clica, todo mundo vê. Saiba mais.

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


  Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr.com.br/

Re: [obm-l] Algoritmo

2007-09-22 Por tôpico Samir Rodrigues
Mas Marcelo, como os numeros podem ser negativos, entao tomando b negativo,
o seu cubo tambem sera negativo e isso aumenta a margem de |a|

Em 21/09/07, Marcelo Salhab Brogliato <[EMAIL PROTECTED]> escreveu:
>
> Olá Danilo,
>
> fica aqui uma sugestão:
> Considere b=0, entao: 100 < a^2 < 999  10 < |a| < 32 [soh pra
> arredondar]
> Do mesmo modo, vc acha: 4 < |b| < 10
> faca a variar de 10 à 32... b variar de 4 à 10...
> se a soma passar de 999, dê um break no for interno e passe para o
> proximo...
>
> abracos,
> Salhab
>
>
> On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote:
> >
> > Olá pessoal
> >   estou tentando desenvolver um algoritmo em Pascal
> para
> > achar todos os números de 3 algarismos que podem ser escritos como a
> soma de
> > um quadrado e um cubo. Só que tem um problema, como achar os limites dos
> > valores que estão variando o contador?
> > Por exemplo :  100 a e
> > b, que podem ser tanto positivos quanto negativos. Eu fiz na base da
> > tentativa e erro e achei que o máximo de a seria 941 e o mínimo de
> b=-96.
> > Não sei se são exatamente esses os valores. Mas de qualquer forma como
> eu
> > faria isso de um modo formal?
> > Agradeço desde já qualquer ajuda.
> >
> >  Flickr agora em português. Você clica, todo mundo vê. Saiba mais.
>
> =
> Instruções para entrar na lista, sair da lista e usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
> =
>



-- 
Samir Rodrigues


Re: [obm-l] Algoritmo

2007-09-21 Por tôpico Marcelo Salhab Brogliato
Olá Danilo,

fica aqui uma sugestão:
Considere b=0, entao: 100 < a^2 < 999  10 < |a| < 32 [soh pra arredondar]
Do mesmo modo, vc acha: 4 < |b| < 10
faca a variar de 10 à 32... b variar de 4 à 10...
se a soma passar de 999, dê um break no for interno e passe para o proximo...

abracos,
Salhab


On 9/21/07, Danilo Nascimento <[EMAIL PROTECTED]> wrote:
>
> Olá pessoal
>   estou tentando desenvolver um algoritmo em Pascal para
> achar todos os números de 3 algarismos que podem ser escritos como a soma de
> um quadrado e um cubo. Só que tem um problema, como achar os limites dos
> valores que estão variando o contador?
> Por exemplo :  100 b, que podem ser tanto positivos quanto negativos. Eu fiz na base da
> tentativa e erro e achei que o máximo de a seria 941 e o mínimo de b=-96.
> Não sei se são exatamente esses os valores. Mas de qualquer forma como eu
> faria isso de um modo formal?
> Agradeço desde já qualquer ajuda.
>
>  Flickr agora em português. Você clica, todo mundo vê. Saiba mais.

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] Algoritmo

2007-09-21 Por tôpico Danilo Nascimento
Olá pessoal
  estou tentando desenvolver um algoritmo em Pascal para 
achar todos os números de 3 algarismos que podem ser escritos como a soma de um 
quadrado e um cubo. Só que tem um problema, como achar os limites dos valores 
que estão variando o contador?
Por exemplo :  100http://www.flickr.com.br/

[obm-l] Algoritmo de Risch e Teoria de Galois

2005-06-14 Por tôpico Paulo Santa Rita

Ola Carissimo Prof Nicolau
e demais colegas desta lista ... OBM-L,

O paralelo que o estimado Prof Nicolau estabelece entre o ALGORITMO DE RISCH 
e a TEORIA DE GALOIS nao e um mero recurso de linguagem para consubstanciar 
um argumento, mas uma conexao forte, com resultados ja estabelecidos e fonte 
de muitas investigacoes contemporaneas. Para ver mais, olhe em :


http://www-lmc.imag.fr/CATHODE2/Cirm2000/extended/Vanderput/Vanderput.html

Um Abraco a Todos
Paulo Santa Rita
3,1112,140605


From: "Nicolau C. Saldanha" <[EMAIL PROTECTED]>
Reply-To: obm-l@mat.puc-rio.br
To: obm-l@mat.puc-rio.br
Subject: Re: [obm-l] integral muito dificil
Date: Tue, 14 Jun 2005 09:59:52 -0300

On Mon, Jun 13, 2005 at 08:16:48PM +, Paulo Santa Rita wrote:
> Ola Eritotutor e demais
> colegas desta lista ... OBM-L,
>
> O "quadrado" do "cos(x)" sob a raiz deve levar a uma integral eliptica 
...

> em todo caso, em minha opiniao, voce nao ganha muito aprendendo estes
> algoritmos, pois, se somos alguma coisa, nao vai ser em tarefas
> algoritmicas que a nossa natureza vai ser percebida. O que e 
algoritmico,
> primitivo portanto, deve ser atribuido a um computador. Neste casos, 
use,

> por exemplo, o MAPLE :
>
> int(sqrt(1+(cos(x)^2)),x);
>
> 
-(-(1+cos(x)^2)*(-1+cos(x)^2))^(1/2)*(1-cos(x)^2)^(1/2)*EllipticE(cos(x),I)/(1-cos(x)^4)^(1/2)/sin(x)


Só para complementar um pouco: existe sim um algoritmo que, dada uma função
elementar, ou calcula a sua integral como função elementar ou demonstra
que tal integral não pode ser escrita como função elementar.
As funções elementares são, grosso modo, aquelas para as quais os alunos
de cálculo 1 podem escrever uma fórmula (sem quebrar em casos).
Este algoritmo é complicado demais para ser ensinado em cálculo 1
e o aluno aprende a calcular a integral em alguns casos especiais.

A situação é mais ou menos análoga à que encontramos para equações
polinomiais: existe um algoritmo (usando teoria de Galois) que,
dada uma equação polinomial, ou exibe as raízes da equação por uma
fórmula envolvendo raízes ou demonstra que não existe tal fórmula.
Este algoritmo é complicado demais para ser ensinado no ensino médio
e portanto no ensino médio o aluno aprende a resolver uns poucos
casos especiais.

[]s, N.
=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


_
Chegou o que faltava: MSN Acesso Grátis. Instale Já! 
http://www.msn.com.br/discador


=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] RE: [obm-l] Algoritmo do Calendário

2005-02-24 Por tôpico Murilo Rebouças Fernandes de Lima
Alguns algoritmos podem ser achados em:
http://5dspace-time.org/Calendar/Algorithm.html
http://klausler.com/new-dayofweek.html
Agora como diria um amigo quando o professor indagava se poderia colocar a 
formula no quadro ou era necessario provar: PROVA!
- Original Message - 
From: "Ralph Teixeira" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, February 24, 2005 12:27 AM
Subject: [obm-l] RE: [obm-l] Algoritmo do Calendário

Sabe o que eh curioso? Como ha 4800 dias 13 neste periodo de 400 anos, e 
4800 nao eh divisivel por 7, descobrimos que a distribuicao dos dias 13 com 
relacao aos dias da semana nao pode ser exatamente uniforme! Ou seja, dado 
um dia 13 qualquer, **nao** podemos dizer imediatamente que a probabilidade 
de ele cair numa Sexta eh exatamente igual aa probabilidade de ele cair num 
Domingo (mas espera-se que a diferenca seja bem pequenina).

O mesmo raciocinio pode ser feito sobre os dias de 1 a 28 Pergunta: 
podem ser uniformes as distribuicoes dos dias 29, 30 e 31? Sao?

Eu vi a analise detalhada uma vez. Se eu nao me engano, descobre-se que, 
dado um dia 13, o mais provavel dia da semana para ele (por uma 
pequeninissima margem) eh exatamente a Sexta-Feira.   :O   ;)

Abraco,
  Ralph
P.S.: Ah, tem aqui uma analise computacional deste fato: 
http://www.stats.uwo.ca/computing/MatLab/friday13.html. Com a ajuda do 
MatLab, eles calculam que, neste ciclo de 400 anos, ha (687, 685, 685, 687, 
684, 688, 684) dias 13 que caem nos dias (Dom, Seg, Ter, Qua, Qui, Sex, 
Sab), respectivamente. Ou seja, para o dia 13, Sextas sao 1/1200 mais 
provaveis do que Quintas. :P

on 22.02.05 11:34, Alan Pellejero at [EMAIL PROTECTED] wrote:

Pessoal da lista!
Fiquei sabendo da existência de um algoritmo matemático que trabalha com os 
dias do calendário.
Por exemplo, eu quero saber qual dia da semana caiu 22 de abril de 1872. Eu 
sei que o calendário gregoriando se repete de 400 em 400 anos e tal, já 
procurei no google, pedi auxílio a muita gente e até tentei montar esse 
'algoritmo', entretanto, sem sucesso...Alguém poderia me ajudar?
Obrigado!

 _
Yahoo! Acesso Grátis 
<http://br.rd.yahoo.com/mail/taglines/*http://br.acesso.yahoo.com/>  - 
Internet rápida e grátis. Instale o discador do Yahoo! agora.


=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] RE: [obm-l] Algoritmo do Calendário

2005-02-23 Por tôpico Ralph Teixeira
Sabe o que eh curioso? Como ha 4800 dias 13 neste periodo de 400 anos, e 4800 
nao eh divisivel por 7, descobrimos que a distribuicao dos dias 13 com relacao 
aos dias da semana nao pode ser exatamente uniforme! Ou seja, dado um dia 13 
qualquer, **nao** podemos dizer imediatamente que a probabilidade de ele cair 
numa Sexta eh exatamente igual aa probabilidade de ele cair num Domingo (mas 
espera-se que a diferenca seja bem pequenina).
 
O mesmo raciocinio pode ser feito sobre os dias de 1 a 28 Pergunta: podem 
ser uniformes as distribuicoes dos dias 29, 30 e 31? Sao?
 
Eu vi a analise detalhada uma vez. Se eu nao me engano, descobre-se que, dado 
um dia 13, o mais provavel dia da semana para ele (por uma pequeninissima 
margem) eh exatamente a Sexta-Feira.   :O   ;)
 
Abraco,
   Ralph
 
P.S.: Ah, tem aqui uma analise computacional deste fato: 
http://www.stats.uwo.ca/computing/MatLab/friday13.html. Com a ajuda do MatLab, 
eles calculam que, neste ciclo de 400 anos, ha (687, 685, 685, 687, 684, 688, 
684) dias 13 que caem nos dias (Dom, Seg, Ter, Qua, Qui, Sex, Sab), 
respectivamente. Ou seja, para o dia 13, Sextas sao 1/1200 mais provaveis do 
que Quintas. :P


on 22.02.05 11:34, Alan Pellejero at [EMAIL PROTECTED] wrote:



Pessoal da lista!
Fiquei sabendo da existência de um algoritmo matemático que 
trabalha com os dias do calendário.
Por exemplo, eu quero saber qual dia da semana caiu 22 de abril 
de 1872. Eu sei que o calendário gregoriando se repete de 400 em 400 anos e 
tal, já procurei no google, pedi auxílio a muita gente e até tentei montar esse 
'algoritmo', entretanto, sem sucesso...Alguém poderia me ajudar?
Obrigado!

  _  


Yahoo! Acesso Grátis 
  - Internet 
rápida e grátis. Instale o discador do Yahoo! agora. 



<>

Re: [obm-l] Algoritmo do Calendário

2005-02-22 Por tôpico Claudio Buffara
Title: Re: [obm-l] Algoritmo do Calendário



Va ateh:
http://marauder.millersville.edu/~bikenaga/numth/numnote.html

O arquivo eh "calendar.ps" e estah em PostScript.

[]s,
Claudio.

on 22.02.05 11:34, Alan Pellejero at [EMAIL PROTECTED] wrote:

Pessoal da lista!
Fiquei sabendo da existência de um algoritmo matemático que trabalha com os dias do calendário.
Por exemplo, eu quero saber qual dia da semana caiu 22 de abril de 1872. Eu sei que o calendário gregoriando se repete de 400 em 400 anos e tal, já procurei no google, pedi auxílio a muita gente e até tentei montar esse 'algoritmo', entretanto, sem sucesso...Alguém poderia me ajudar?
Obrigado!

Yahoo! Acesso Grátis   - Internet rápida e grátis. Instale o discador do Yahoo! agora. 






[obm-l] Algoritmo do Calendário

2005-02-22 Por tôpico Alan Pellejero
Pessoal da lista!
Fiquei sabendo da existência de um algoritmo matemático que trabalha com os dias do calendário.
Por exemplo, eu quero saber qual dia da semana caiu 22 de abril de 1872. Eu sei que o calendário gregoriando se repete de 400 em 400 anos e tal, já procurei no google, pedi auxílio a muita gente e até tentei montar esse 'algoritmo', entretanto, sem sucesso...Alguém poderia me ajudar?
Obrigado!
		Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador do Yahoo! agora.

[obm-l] ALGORITMO E RSA

2004-07-17 Por tôpico FabianoSutter
Acabo de encerrar meu trabalho sobre localização de números primos, acho q é mais um 
!!!. Baseia-se em um algoritmo montado sobre determinantes e matrizes q localiza os 
primos na reta real. O diferencial é q creio na possibilidade de usá-lo no estudo da 
criação de um algoritmo q, atendendo certas condições, poderá trabalhar com a cifra 
RSA. Quem sabe, em pouco tempo, teremos a apresentação de um algoritmo de tempo 
polinomial para a fatoração de números inteiros. Não é isso q todos querem??
Abraço a lista!!!
=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


Re: [obm-l] Algoritmo de Shor

2004-06-24 Por tôpico Chicao Valadares
Só alguns esclarecimentos:

-A afirmaçao no qual um computador quantico fará em
"poucos segundos" o que um supercomputador levaria
milhoes de anos para fazer é verdadeira apenas para
problemas modelados via algoritmos POLINOMIAIS
nao-deterministicos(NP,Co-Np...) no qual não se
conhece algoritmo polinomial deterministico eficiente
para resolver, mas se conhece apenas o exponencial
deterministico que é muito custoso e as vezes o
polinomial probabilistico deterministico, que possui
um custo aceitavel.
-A contribuiçao do computador quantico para os
algoritmos seria justamente a IMPLEMENTAÇAO REAL do
não determinismo, algo impossivel com os modelos
atuais.Observe que PRIMOS, pertence a NP(na verdade
pertence a P contido em NP via AKS, mas nao vem ao
caso) e com o advento do computador quantico seria
possivel a implementaçao real do ALGORITMO EM NP para
PRIMOS.Entao o computador quantico resolveria PRIMOS
em tempo polinomial.
-Isto nao quer dizer que existam problemas dificeis
ate para computadores quanticos um exemplo seriam
algoritmos da classe NEXP(algoritmos nao
deterministicos de tempo exponenciais) que nao se sabe
se sao iguais a EXP(algoritmos deterministicos de
tempo exponenciais) e em caso afirmativo,existem
trabalhos indicando que implicaria tambem em P=NP.

É isso :)

--- Paulo Santa Rita <[EMAIL PROTECTED]> escreveu: >
Ola Pessoal,
> 
> Numa mensagem anterior eu citei a COMPUTACAO
> QUANTICA como uma das possiveis 
> aplicacoes
> da Mecanica Quantica. A palavra "possivel" talvez
> seja muito modesta, pois 
> os resultados ja
> existentes nao obstante nao a colocarem como um
> campo de pesquisa ja 
> consolidado, sem duvida
> retiram-na do campo das meras especulacoes ...
> 
> UMA das possibilidades e a COMPUTACAO PARALELA,
> presente no ALGORITMO DE 
> SHOR. Quem deu inicio a tudo isso foi o Shor, hoje
> professor do MIT. O seu 
> famoso e bastante conhecido e discutido e a
> Matematica envolvida nele e 
> realmente elementar. Para ver isso,  entre em :
> 
> http://www-math.mit.edu/~shor
> CLIQUE EM : papers
> A SEGUIR CLIQUE EM : quantum computing
> E FINALMENTE CLIQUE EM : polynomial-time algorithms
> for prime factorization 
> 
> 
> Um Computador Quantico fara em poucos minutos o que
> um Computador Classico ( 
> exemplo :
> um supercomputador atual ) contemporaneo gastaria
> dezenas de bilhoes de anos 
> pra fazer. Por
> outro lado, como nos estamos na Pre-historia da
> Computacao Quantica, o 
> numero de fatos
> relevantes e ideias importantes a serem descobertos
> e, muito provavelmente, 
> bem mais rico que
> num campo classito da Teoria da Computacao.
> 
> Um Abraco a Todos
> Paulo Santa Rita
> 4,1509,230604
> 
>
_
> MSN Messenger: converse com os seus amigos online.  
> http://messenger.msn.com.br
> 
>
=
> Instruções para entrar na lista, sair da lista e
> usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
>
=
>  

=
"O Binômio de Newton é tão belo como a Vênus de Milo.
O que há é pouca gente para dar por isso... "
Fernando Pessoa - Poesias de Alvaro Campos

_
As informações existentes nessa mensagem e no(s) arquivo(s) anexado(s) 
são
para uso restrito, sendo seu sigilo protegido por lei. Caso não seja
destinatário, saiba que leitura, divulgação ou cópia são proibidas. 
Favor
apagar as informações e notificar o remetente. O uso impróprio será 
tratado
conforme as normas da empresa e a legislação em vigor. Agradecemos sua
colaboração.


The information mentioned in this message and in the archives attached 
are
of restricted use, and its privacy is protected by law. If you are not 
the
addressee, be aware that reading, disclosure or copy are forbidden. 
Please
delete this information and notify the sender. Inappropriate use will 
be
tracted according to company's rules and valid laws. Thank you for your
cooperation.

__

Yahoo! Mail - agora com 100MB de espaço, anti-spam e antivírus grátis!
http://br.info.mail.yahoo.com/
=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


Re: [obm-l] Algoritmo de Shor

2004-06-24 Por tôpico Chicao Valadares
Só alguns esclarecimentos:

-A afirmaçao no qual um computador quantico fará em
"poucos segundos" o que um supercomputador levaria
milhoes de anos para fazer é verdadeira apenas para
problemas modelados via algoritmos POLINOMIAIS
nao-deterministicos(NP,Co-Np...) no qual não se
conhece algoritmo polinomial deterministico eficiente
para resolver, mas se conhece apenas o exponencial
deterministico que é muito custoso e as vezes o
polinomial probabilistico deterministico, que possui
um custo aceitavel.
-A contribuiçao do computador quantico para os
algoritmos seria justamente a IMPLEMENTAÇAO REAL do
não determinismo, algo impossivel com os modelos
atuais.Observe que PRIMOS, pertence a NP(na verdade
pertence a P contido em NP via AKS, mas nao vem ao
caso) e com o advento do computador quantico seria
possivel a implementaçao real do ALGORITMO EM NP para
PRIMOS.Entao o computador quantico resolveria PRIMOS
em tempo polinomial.
-Isto nao quer dizer que existam problemas dificeis
ate para computadores quanticos um exemplo seriam
algoritmos da classe NEXP(algoritmos nao
deterministicos de tempo exponenciais) que nao se sabe
se sao iguais a EXP(algoritmos deterministicos de
tempo exponenciais) e em caso afirmativo,existem
trabalhos indicando que implicaria tambem em P=NP.

É isso :)

--- Paulo Santa Rita <[EMAIL PROTECTED]> escreveu: >
Ola Pessoal,
> 
> Numa mensagem anterior eu citei a COMPUTACAO
> QUANTICA como uma das possiveis 
> aplicacoes
> da Mecanica Quantica. A palavra "possivel" talvez
> seja muito modesta, pois 
> os resultados ja
> existentes nao obstante nao a colocarem como um
> campo de pesquisa ja 
> consolidado, sem duvida
> retiram-na do campo das meras especulacoes ...
> 
> UMA das possibilidades e a COMPUTACAO PARALELA,
> presente no ALGORITMO DE 
> SHOR. Quem deu inicio a tudo isso foi o Shor, hoje
> professor do MIT. O seu 
> famoso e bastante conhecido e discutido e a
> Matematica envolvida nele e 
> realmente elementar. Para ver isso,  entre em :
> 
> http://www-math.mit.edu/~shor
> CLIQUE EM : papers
> A SEGUIR CLIQUE EM : quantum computing
> E FINALMENTE CLIQUE EM : polynomial-time algorithms
> for prime factorization 
> 
> 
> Um Computador Quantico fara em poucos minutos o que
> um Computador Classico ( 
> exemplo :
> um supercomputador atual ) contemporaneo gastaria
> dezenas de bilhoes de anos 
> pra fazer. Por
> outro lado, como nos estamos na Pre-historia da
> Computacao Quantica, o 
> numero de fatos
> relevantes e ideias importantes a serem descobertos
> e, muito provavelmente, 
> bem mais rico que
> num campo classito da Teoria da Computacao.
> 
> Um Abraco a Todos
> Paulo Santa Rita
> 4,1509,230604
> 
>
_
> MSN Messenger: converse com os seus amigos online.  
> http://messenger.msn.com.br
> 
>
=
> Instruções para entrar na lista, sair da lista e
> usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
>
=
>  

=
"O Binômio de Newton é tão belo como a Vênus de Milo.
O que há é pouca gente para dar por isso... "
Fernando Pessoa - Poesias de Alvaro Campos

_
As informações existentes nessa mensagem e no(s) arquivo(s) anexado(s) 
são
para uso restrito, sendo seu sigilo protegido por lei. Caso não seja
destinatário, saiba que leitura, divulgação ou cópia são proibidas. 
Favor
apagar as informações e notificar o remetente. O uso impróprio será 
tratado
conforme as normas da empresa e a legislação em vigor. Agradecemos sua
colaboração.


The information mentioned in this message and in the archives attached 
are
of restricted use, and its privacy is protected by law. If you are not 
the
addressee, be aware that reading, disclosure or copy are forbidden. 
Please
delete this information and notify the sender. Inappropriate use will 
be
tracted according to company's rules and valid laws. Thank you for your
cooperation.

__

Yahoo! Mail - agora com 100MB de espaço, anti-spam e antivírus grátis!
http://br.info.mail.yahoo.com/
=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] Algoritmo de Shor

2004-06-23 Por tôpico Paulo Santa Rita
Ola Pessoal,
Numa mensagem anterior eu citei a COMPUTACAO QUANTICA como uma das possiveis 
aplicacoes
da Mecanica Quantica. A palavra "possivel" talvez seja muito modesta, pois 
os resultados ja
existentes nao obstante nao a colocarem como um campo de pesquisa ja 
consolidado, sem duvida
retiram-na do campo das meras especulacoes ...

UMA das possibilidades e a COMPUTACAO PARALELA, presente no ALGORITMO DE 
SHOR. Quem deu inicio a tudo isso foi o Shor, hoje professor do MIT. O seu 
famoso e bastante conhecido e discutido e a Matematica envolvida nele e 
realmente elementar. Para ver isso,  entre em :

http://www-math.mit.edu/~shor
CLIQUE EM : papers
A SEGUIR CLIQUE EM : quantum computing
E FINALMENTE CLIQUE EM : polynomial-time algorithms for prime factorization 
...

Um Computador Quantico fara em poucos minutos o que um Computador Classico ( 
exemplo :
um supercomputador atual ) contemporaneo gastaria dezenas de bilhoes de anos 
pra fazer. Por
outro lado, como nos estamos na Pre-historia da Computacao Quantica, o 
numero de fatos
relevantes e ideias importantes a serem descobertos e, muito provavelmente, 
bem mais rico que
num campo classito da Teoria da Computacao.

Um Abraco a Todos
Paulo Santa Rita
4,1509,230604
_
MSN Messenger: converse com os seus amigos online.  
http://messenger.msn.com.br

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


RES: [obm-l] Algoritmo

2004-05-14 Por tôpico David M. Cardoso

Um algoritmo muito ineficiente (mas que pra n < 50 isso não faz a **menor**
a diferenca)
mas ao mesmo tempo muito facil de entender eh esse: (chamado de
bubblesort)..

double medias[0..9];
int i = 1
int n = 10
double aux = 0.0;

while (i < n)
{
   if (medias[i] > medias[i-1])
   {
 aux = medias[i-1];
 medias[i-1] = medias[i];
 medias[i] = aux;
 
 i=1;
   }
   else
 i++;
}

Um algoritmo que eu acho bem eficiente, mas eh um pouco mais dificil de
entender eh o
"quicksort"... se vc tiver interesse, uma busca no google vai achar zilhoes
de paginas
com exemplos.

Falow...
David.

> -Mensagem original-
> De: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] Em nome de rickufrj
> Enviada em: quinta-feira, 13 de maio de 2004 23:20
> Para: obm-l
> Assunto: [obm-l] Algoritmo
> 
> Olá pessoal , será que alguém poderia me ajudar nesse algoritmo :
> 
> Fazer um algoritmo que leia a media de 10 alunos e em seguida 
> as coloque em ordem decrescente.
> 
> Eu to me enrolando um pouco , pois não consigo montar um 
> algoritmo compacto ,nas idéias que eu tive , estava 
> descambando para um lado muito grande  .
> Será que alguém poderia me ajudar utilizando os loop’s for ou 
> outro tipo de loop ?
> Agradeço a atenção
> Abraços
> Luiz H. Barbosa
>  
> __
> 
> Acabe com aquelas janelinhas que pulam na sua tela.
> AntiPop-up UOL - É grátis!
> http://antipopup.uol.com.br/
> 
> 
> 
> ==
> ===
> Instruções para entrar na lista, sair da lista e usar a lista 
> em http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
> ==
> ===
> 


=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


RE: [obm-l] Algoritmo

2004-05-13 Por tôpico Qwert Smith
em Java:
int[] medias;
Arrays.sort( medias, Collections.reverseOrder() );
provavelmente um pseudo-code que usasse um for loop fosse mais util a vc, 
mas a questao e:
1) vc acha centenas de examplos de algoritimos que ordenam listas na 
internet em questao de segundos.
2) a funcao da lista nao e fazer o dever de casa de ninguem

A principio eu nao me importo nem um pouco com as questoes faceis, talvez pq 
sejam as unicas ki sei resolver, mas fica chato quando esta claro ki a 
pergunta foi mandada sem o menor esforco de procurar a solucao.  Da proxima 
vez tenta o seguinte: www.google.com.  E so escrever a pergunta e pronto.

Nao que

From: "rickufrj" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: "obm-l" <[EMAIL PROTECTED]>
Subject: [obm-l] Algoritmo
Date: Thu, 13 May 2004 23:20:23 -0300
Olá pessoal , será que alguém poderia me ajudar nesse
algoritmo :
Fazer um algoritmo que leia a media de 10 alunos e em
seguida as coloque em ordem decrescente.
Eu to me enrolando um pouco , pois não consigo montar
um algoritmo compacto ,nas idéias que eu tive , estava
descambando para um lado muito grande  .
Será que alguém poderia me ajudar utilizando os loop’s
for ou outro tipo de loop ?
Agradeço a atenção
Abraços
Luiz H. Barbosa
__
Acabe com aquelas janelinhas que pulam na sua tela.
AntiPop-up UOL - É grátis!
http://antipopup.uol.com.br/

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=
_
Express yourself with the new version of MSN Messenger! Download today - 
it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


Re: [obm-l] Algoritmo

2004-05-13 Por tôpico Fellipe Rossi
crie uma array M de 1..10
a=0
i=0
n=9

repeat

n=n-1

repeat
if m[i]>m[i+1] then
a=m[i+1];
m[i+1]=m[i];
m[1]=a;

( o procedimento do 'a' é pra vc nao perder o valor do m[i+1] )
(cada loop desses vai faze com q o menos seja jogado pro ultimo)

i=i+1 (incremento)
until i=n

until n=0

não me lembro das linguagens hehehe
eu misturo mto pascal com C entao ve se vc consegue sair com isso :)

[]'s


- Original Message -
From: "rickufrj" <[EMAIL PROTECTED]>
To: "obm-l" <[EMAIL PROTECTED]>
Sent: Thursday, May 13, 2004 11:20 PM
Subject: [obm-l] Algoritmo


> Olá pessoal , será que alguém poderia me ajudar nesse
> algoritmo :
>
> Fazer um algoritmo que leia a media de 10 alunos e em
> seguida as coloque em ordem decrescente.
>
> Eu to me enrolando um pouco , pois não consigo montar
> um algoritmo compacto ,nas idéias que eu tive , estava
> descambando para um lado muito grande  .
> Será que alguém poderia me ajudar utilizando os loop's
> for ou outro tipo de loop ?
> Agradeço a atenção
> Abraços
> Luiz H. Barbosa
>
> __
> Acabe com aquelas janelinhas que pulam na sua tela.
> AntiPop-up UOL - É grátis!
> http://antipopup.uol.com.br/
>
>
>
> =
> Instruções para entrar na lista, sair da lista e usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
> =
>
>


=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] Algoritmo

2004-05-13 Por tôpico rickufrj
Olá pessoal , será que alguém poderia me ajudar nesse 
algoritmo :

Fazer um algoritmo que leia a media de 10 alunos e em 
seguida as coloque em ordem decrescente.

Eu to me enrolando um pouco , pois não consigo montar 
um algoritmo compacto ,nas idéias que eu tive , estava 
descambando para um lado muito grande  .
Será que alguém poderia me ajudar utilizando os loop’s 
for ou outro tipo de loop ?
Agradeço a atenção
Abraços
Luiz H. Barbosa
 
__
Acabe com aquelas janelinhas que pulam na sua tela.
AntiPop-up UOL - É grátis!
http://antipopup.uol.com.br/



=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] algoritmo de eleição Bully

2004-03-21 Por tôpico Everton A. Ramos (www.bs2.com.br)
Boa noite... Alguém sabe resolver a questão abaixo?



1. Considere o algoritmo de eleição Bully mostrado na última aula. Considere
também a lista de chamada a seguir:



  Antonio C. Braga

  Diony

  Jefferson

  Klayton



  Marcos

  Mariana

  Renato

  Vitorio




Faça uma simulação do algoritmo considerando uma rede de N máquinas, onde N
= 5 para os alunos pares e N = 6 para os ímpares.

A rede é organizada como uma lista de N números crescentes. O mestre sempre
é a máquina de maior número.

Os alunos de número par farão sua simulação considerando que quem descobre
que o mestre (máquina N) morreu é a máquina 1, enquanto os ímpares devem
considerar que é a máquina 2.

Mostre o fluxo de mensagens entre todas as máquinas e faça um resumo no
final, mostrando quantas mensagens cada uma mandou e quantas recebeu.



--
Everton Antonio Ramos (44) 8801-0186
[EMAIL PROTECTED]

Fábrica de Bits (www.fabricadebits.com.br)
Av. Dr. Luiz Teixeira Mendes, 638
Maringá - Paraná
(44) 3028-6300
--


=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] Algoritmo em grafo

2004-03-12 Por tôpico Domingos Jr.
Oi...

Suponha que tenhamos um grafo G=(V, E) e queiramos obter S contido em V tal
que para toda aresta e em E uma das pontas de e esteja em S.

Um algoritmo (guloso) que eu proponho para fazer isso é:
inicie S = Ø
escolha um vértice u com grau máximo, este vértice vai para S e elimine o
vértice u e todas arestas que saem dele do grafo G e repita o processo até
que o conjunto de arestas fique fazio.

A pergunta é: em relação a min{|S| : para todo e=(u, v) em E,  {u, v} inter
S != Ø} qual seria o tamanho do S encontrado por este algoritmo... ou seja,
em relação ao(s) conjunto(s) S ótimo(s) qual a aproximação que este
algoritmo nos dá?

[ ]'s

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


Re: [obm-l] Algoritmo de Graham

2003-10-01 Por tôpico Artur Costa Steiner
Oi, Pessoal:

>O Domingos Jr. me falou de um problema interessante, envolvendo o algoritmo
>de Graham para "scheduling" (qual a palavra em portugues?):

Acho que "programacao no tempo" eh uma boa traducao.
Artur


OPEN Internet
@
Primeiro provedor do DF com anti-vírus no servidor de e-mails @

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


Re: [obm-l] Algoritmo de Graham

2003-10-01 Por tôpico Carlos Maçaranduba

para nota de esclarecimento ,"scheduling" em portugues
é escalonamento..esse problema é interessante para
computaçao pois a CPU dos computadores possui uma
politica de escalonamento para os programas em
execuçao(mais neste caso é uma maquina só, a CPU).Se
eu nao me engano esse problema é NP e o que a turma
tenta fazer é se aproximar polinomialmente da soluçao
otima.Nesse caso, o algoritmo de Graham é 33% mais
custoso. 

 --- Claudio Buffara <[EMAIL PROTECTED]>
escreveu: > Oi, Pessoal:
> 
> O Domingos Jr. me falou de um problema interessante,
> envolvendo o algoritmo
> de Graham para "scheduling" (qual a palavra em
> portugues?):
> 
> Suponha que vc tem m máquinas idênticas e n tarefas
> (cujo tempo de execução
> está num vetor v[1..n] de reais positivos).
> O algoritmo de Graham é assim:
> - ordene v de forma decrescente (v(1) >= v(2) >= ...
> >= v(n));
> - na i-ésima (1 <= i <= n) iteração aloque a i-ésima
> tarefa na máquina mais
> livre (aquela cuja soma dos respectivos v(k)'s é a
> menor de todas)
> (se há empate coloque na máquina de índice menor,
> por exemplo).
>  
> Mostre que o algoritmo acima sempre dá uma solução
> cujo tempo de execução é
> no máximo igual a 4/3 do ótimo.
>  
> Um abraco,
> Claudio.
> 
>
=
> Instruções para entrar na lista, sair da lista e
> usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
>
= 

Yahoo! Mail - o melhor webmail do Brasil
http://mail.yahoo.com.br
=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] Algoritmo de Graham

2003-09-30 Por tôpico Claudio Buffara
Oi, Pessoal:

O Domingos Jr. me falou de um problema interessante, envolvendo o algoritmo
de Graham para "scheduling" (qual a palavra em portugues?):

Suponha que vc tem m máquinas idênticas e n tarefas (cujo tempo de execução
está num vetor v[1..n] de reais positivos).
O algoritmo de Graham é assim:
- ordene v de forma decrescente (v(1) >= v(2) >= ... >= v(n));
- na i-ésima (1 <= i <= n) iteração aloque a i-ésima tarefa na máquina mais
livre (aquela cuja soma dos respectivos v(k)'s é a menor de todas)
(se há empate coloque na máquina de índice menor, por exemplo).
 
Mostre que o algoritmo acima sempre dá uma solução cujo tempo de execução é
no máximo igual a 4/3 do ótimo.
 
Um abraco,
Claudio.

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=


[obm-l] Algoritmo Indiano

2002-08-29 Por tôpico Paulo Santa Rita

Ola Pessoal
colegas desta lista ... OBM-L,

Em minha ultima mensagem talvez possa ter suscitado em alguns colegas alguma 
expectativa - que agora sei ser injustificada - quando mencionei que varias 
pessoas estavam me perguntando sobre o Algoritmo para teste de primalidade 
descoberto por tres Matematicos Indianos.

Em verdade, nao havia "novidade" ... apenas uma notificacao tardia por algum 
veiculo da imprensa que foi consultado por estas pessoas, o que as induziu a 
formularem as consultas.

O que me resta a fazer entao e, por razoes de educacao, pedir desculpas pela 
eventual expectativa frustrada que eu possa ter causado e, alem disso, por 
razoes de etica cientifica, dizer que nao ha novidade alguma e que trata-se 
do mesmo Excelente Algoritmo Nao-Estocastico descoberto pelos tres 
Matematicos Indianos.

Com os melhores votos
de paz profunda, sou

Paulo Santa Rita
5,1845,290802








_
Converse com seus amigos online, faça o download grátis do MSN Messenger: 
http://messenger.msn.com.br

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
O administrador desta lista é <[EMAIL PROTECTED]>
=



[obm-l] Algoritmo de Risch

2002-07-05 Por tôpico Jose Francisco Guimaraes Costa

Luis,

Entre em http://mathworld.wolfram.com/ e procure por risch. A definição é a
mínima, mas a bibliografia indicada talvez ajude.

JF

-Mensagem Original-
De: Luis Lopes <[EMAIL PROTECTED]>
Para: <[EMAIL PROTECTED]>
Enviada em: Sexta-feira, 5 de Julho de 2002 15:44
Assunto: Re: [obm-l] dois problemas


> Sauda, c~oes,
>
> Não verifiquei mas considero o problema 1
> resolvido. Obrigado.
>
> Quanto ao 2o, como ninguém se manifestou
> e já desconfiado desde o começo, enviei-o
> pro prof. Rousseau. Vejam sua resposta:
>
> ===
> Dear Luis:
>
>I just sent a solution of the Knuth problem via telescoping sums.
> As for the other question, I would be exceedingly surprised if
> the series in question has closed form sum.  Of course, one can
> re-express the series sum as an integral; a quick calculation gives
>
> \int_0^1 x^{x+1} dx,
>
> and I am confident that one prove (using the Risch algorithm) that
> x^{x+1} has no antiderivative in elementary terms.   While this
> doesn't completely settle the issue, it comes close.
> ===
>
> Para registrar, o problema 2 era
>
> 2) Calcule S = 1 / (1+n)^n =
> = 1 + 1/2 + 1/3^2 + 1/4^3 + 
>
> Agora uma pergunta: alguém conhece esse algoritmo
> de Risch? Nunca ouvi falar disso. E então aquela outra
> soma que apareceu por aqui - S = \sum 1 / n^n  -
> recentemente deve ter o mesmo tratamento e conclusão:
> nada de forma fechada.
>
> []'s
> Luis
>
> -Mensagem Original-
> De: Johann Dirichlet <[EMAIL PROTECTED]>
> Para: <[EMAIL PROTECTED]>
> Enviada em: quarta-feira, 3 de julho de 2002 14:18
> Assunto: Re: [obm-l] dois problemas
>
>
> > Este problema 1 ja e famoso.Eu resolvo com
> > trigonometria.Seja x=anguloCQT.SLS no QCT,
> > 2*sen 60=TQ*sen .No PAT,PT=2/cos x.Pela
> > equilateralidade,tg x=sen 60.E como
> > x=anguloPTA(prove!),PT e facil de ser calculado e
> > vale 7^1/2.Com isso voce finaliza a questao.
> > Te mais
> >
> >
> >  --- Luis Lopes <[EMAIL PROTECTED]> escreveu:
> > > Sauda,c~oes,
> > >
> > > Acabo de receber estes dois problemas
> > > por fax. Alguém saberia resolvê-los?
> > >
> > > 1) No triângulo ABC "desenhado" abaixo,
> > > A=90, C=60,AC=4.
> > >
> > >B
> > >
> > >
> > >
> > >   PQ
> > >
> > >
> > >
> > >   ATC
> > >
> > > T é ponto médio de AC
> > >
> > > O triângulo PQT é equilátero. Calcule a área
> > > do círculo circunscrito ao triângulo PQT.
>
>
> =
> Instruções para entrar na lista, sair da lista e usar a lista em
> http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
> O administrador desta lista é <[EMAIL PROTECTED]>
> =
>


=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
O administrador desta lista é <[EMAIL PROTECTED]>
=