[This article was first published on R – TomazTsql, and kindly contributed to R-bloggers]. (Você pode relatar problemas sobre o conteúdo desta página aqui)
Quer compartilhar seu conteúdo em R-bloggers? clique aqui se você tiver um blog, ou aqui se não tiver.
O famoso jogo de contagem regressiva amado entre matemáticos e pessoas que adoram números e porque não encontrar uma maneira de verificar as soluções.
Portanto, o jogo é (era) conhecido como um programa de TV onde o apresentador daria um número aleatório de 3 dígitos e os competidores retirariam 6 números aleatórios de uma pilha de números. Dado o limite de tempo, o vencedor era aquele que criava uma fórmula que correspondesse ao resultado ou fosse o mais próximo.
Muitas maneiras, dicas, truques e otimizações já foram consideradas, talvez a mais famosa seja a notação polonesa reversa, onde os operadores seguem seus operandos e é um ótimo ajuste para o jogo.
Com funcionalidades inúteis, decidi usar permuteGeneral função de RcppAlgos ou a mesma funcionalidade pode ser alcançada com a função combn.
library(RcppAlgos)
countDown_puzzle
And simply run the function:
countDown_puzzle(c(100,9,4,1,7,25), 463)
Se você deseja gerar também os números e uma solução aleatória:
set.seed(2908)
number_pool
There are many immediate optimisations to this game, such as: – there is no need to multiply or divide by 1 – intermediate solutions become non-integer – intermediate solution become negative number – redundant calculations as: x+y = x, respectively for subtractions. – and many more.
Non of there were taken into consideration, but it could be a great start for optimisation.