[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 428

 
Mathemat:

O que significa a frase B? Como ele sabe antecipadamente que A não vai adivinhar os números quando receber a soma? Esta é uma resposta muito sucinta na verdade, ela contém quase todas as informações sobre os números!


Se o primeiro conhecesse o produto de dois números primos, ele teria encontrado a resposta imediatamente.
 

Isto é óbvio. O principal é decifrar o segundo comentário do diálogo.

любое разложение суммы, сообщенной Б, на два слагаемых приводит к тому, что хотя бы одно из слагаемых содержит два множителя.

 
ValS:

Você acha que alguma coisa vai mudar?


Radicalmente. Veja.

Escreva todas as combinações possíveis de pares de números maiores que um, a soma de
dos quais são menos de uma centena (existem 2401 pares deste tipo).

Se você puder pensar em dois números idênticos, o número de pares se torna muito maior. Verificar:

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
  int SchPar=0;
  for(int i=100;i>=2;i--){
    for(int ii=100;ii>=2;ii--){
      if(i+ii<100){
        SchPar++;
      }
    }
  }
  Alert("Общее число пар чисел, сумма которых менее 100 = ",SchPar);
  return(0);
}
//+------------------------------------------------------------------+

Agora vamos jogar este roteiro na tabela e o que vemos? O número de pares cuja soma é inferior a uma centena = 4656.

 
ValS:

Se o primeiro conhecesse o produto de dois números primos, ele teria encontrado a resposta imediatamente.

Sim, mas não é certo que ele teria sido pego dizendo que o encontrou tão rapidamente.
 
O que é um "gotcha"? Provavelmente é melhor assumir que eles estão dizendo a verdade.
 
drknn:


Raiz. Veja.

Se você puder pensar em dois números idênticos, o número de pares se torna muito maior. Vamos verificar:

Agora vamos atirar este roteiro para o gráfico e o que vemos? O número de pares cuja soma é inferior a uma centena = 4656.


for(int ii=100;ii>=2;ii--) - não é assim que deve ser feito aqui,

mas assim.

for(int ii=i-1;ii>=2;ii--)

 
Assim, você se entregaria. Você se entregaria com uma palavra descuidada.
 
ValS:


for(int ii=100;ii>=2;ii--) - não é assim,

mas assim

for(int ii=i-1;ii>=2;ii--)


Não - desta forma nunca buscaremos a combinação de dois números idênticos, pois o segundo número será sempre 1 a menos.
 

Estamos indo com o que temos.

E não há necessidade de duplicar pares de números em um loop.

 

Então tente assim

for(int ii=i;ii>=2;ii--)

Razão: