The Puzzle World [#1157] | R-bloggers

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[This article was first published on R – Xi’an’s Og, 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.

TO quebra-cabeça semanal do Le Monde é um desafio vazio (?):

Kimmernaq e Aputsiaq jogam um jogo em que Kimmernaq escolhe dez inteiros diferentes entre 1 e 100, e Aputsiaq deve encontrar uma partição desses inteiros em dois grupos com somas idênticas. Quem está vencendo?

Na verdade, se as somas são iguais, então a soma de suas somas é par, o que significa que a soma dos dez inteiros é par. Qualquer escolha desses inteiros de forma que a soma seja par é uma vitória certa para a Aputsiaq. Fim do jogo coxo (se entendi bem as palavras!). Se alguns números inteiros podem ser deixados de fora dos grupos, ambas as soluções parecem possíveis: usando o código R

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
P=1;M=1e3
while (P

I found no solution (i.e. exiting the outer while loop) for M not too large…  So Kimmernaq is apparently winning. Le Monde solution considers the 2¹⁰-1=1023 possible sums made out of 10 integers, which cannot exceed 955, hence some of these sums must be equal (and the same applies when removing the common terms from both sums!). When considering the second half of the question

What if Kimmernaq picks 6 distinct integers between 1 and 40, and Aputsiaq must find a partition of these integers into two groups with identical sums. Who is winning?

recycling the above R code produced subsets systematically hitting the upper bound M, for much larger values. So Aputsiaq should have a mean to pick 6 integers such that any subgroup cannot be broken into two parts with identical sums. One of the outcomes being

 
> a
[1] 36 38 30 18  1 22

pode-se verificar se todas as somas possíveis diferem:

aa=a
for(i in 2:5){
 bb=NULL
 while(length(bb)

and the outcome is indeed of length 2⁶-2=62!

As an aside, a strange [to me at least] R “mistake” was that when recycling the variable F in a code-golfing spirit, since it is equal to zero by default, rather than defining a new Q:

while((P

the counter P was not getting updated!



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Leia Também  Usando dplyr :: filter quando a condição é uma string