Submeter | Todas submissőes | Melhores | Voltar |
F91 - f91 |
McCarthy é um teórico famoso de ciência da computação. No seu trabalho, ele definiu uma função recursiva,
chamada f91
, que recebe como entrada um inteiro N
e retorna um inteiro positivo definido como a
seguir:
- Se
N ≤ 100
, entãof91 (N) = f91 (f91 (N + 11))
; - Se
N ≥ 101
, entãof91 (N) = N - 10
.
Escreva um programa que computa a função f91 de McCarthy.
Entrada
O arquivo de entrada consiste de uma série de inteiros positivos, cada
inteiro é no máximo 1.000.000
. Há no
máximo 250.000
casos de teste. Cada linha possui somente um número. O fim da entrada é alcançada quando o
número 0
é encontrado. O número 0
não deve ser considerado como parte do conjunto de teste.
Saída
O programa deve imprimir cada resultado em uma linha, seguindo o formato fornecido no exemplo de saída.
Exemplo
Entrada: 500 91 0 Saída: f91(500) = 490 f91(91) = 91
Adicionado por: | Wanderley Guimarăes |
Data: | 2007-10-02 |
Tempo limite: | 3s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL |
Origem: | Segunda Seletiva para Maratona de Programacao UFRN - 2004 |
hide comments
|
|||||||||
2015-04-18 20:50:14 José Carlos
Esse programa é pegadinha. |
|||||||||
2014-08-09 18:56:13 Renato Uchoa [IFTO-Paraiso]
Escrevi o algoritmo em C++, dava tempo limite excedido. Transformei o mesmo código em C e foi aceito. Vai entender. Last edit: 2014-08-13 02:21:26 |
|||||||||
2014-07-27 09:22:21 Ivo
Galera, se n<=100 -> print 91 else print numero-10 |
|||||||||
2014-03-15 03:14:26 José Raimundo [IFPB - GBA]
Alguém poderia me explicar (ou postar um trecho do código que năo comprometa na busca pela soluçăo do restante do algoritmo) como é a entrada de dados desse problema? (se possível em Java).. Abraço; |
|||||||||
2013-12-24 09:16:57 Altamir Gomes Bispo Junior [UFSCar]
"Premature optimization is the root of all evil" A recursăo năo é má em si mesma, técnicas de programaçăo dinâmica săo baseadas no conceito de recursăo por exemplo... |
|||||||||
2013-12-11 20:31:03 Alexandre Vieira dos Santos
Esse ambiente foi feito sem pensar em quem usa java.. fiz esse algoritmo sem usar repetiçăo, com os recursos mais rapidos que conheco, e ainda assim deu TLE... vou tentar em C, só pra comprovar minha teoria.. :/ |
|||||||||
2013-11-26 17:38:33 Weslly
Kuesley Fernandes Nascimento tbm to com esse problema. tempo limite excedido sempre(com java) Last edit: 2013-11-26 17:38:50 |
|||||||||
2013-11-15 15:34:44 Kuesley Fernandes Nascimento
Pessoal, estou testando o ambiente e estou enfrentando o mesmo problema do Chris Nic. Em java usa muita memória e sempre dá "tempo limite excedido". |
|||||||||
2013-09-17 01:32:39 Alexandre Henrique Afonso Campos
Em python, TLE. Mesmo algoritmo em C, AC. |
|||||||||
2013-07-16 06:15:17 Eduardo Maia [UECE]
luksky, năo precisa ser exatamente como está escrito no problema. basta vocę entrar com um número, dar enter e já sair o resultado. isso é válido. já fiz isso em vários outros problemas aqui do spoj. sua tela vai ficar algo como: 500 f91(500) = 490 91 f91(91) = 91 0 espero ter ajudado |