Esta é uma pergunta de entrevista do Google, veja aqui para obter um link do youtube.
A tarefa:
Encontre 2 números inteiros de uma lista não ordenada que soma um determinado número inteiro.
- Dada uma lista não ordenada de números inteiros, encontre 2 números inteiros que somam um determinado valor, imprima esses 2 números inteiros e indique sucesso (saída 0). Eles não precisam ser números específicos (ou seja, os 2 primeiros números inteiros somados ao número certo), qualquer par que somar o valor funcionará.
- um número inteiro é positivo e maior que zero.
- uma lista de números inteiros pode estar em qualquer estrutura de dados, incluindo um arquivo de números inteiros - um número inteiro por linha.
- se nenhum número inteiro puder ser encontrado, indique uma falha (saída 1).
- dois inteiros em posições diferentes na lista devem ser retornados. (ou seja, você não pode retornar o mesmo número da mesma posição duas vezes)
(Nota: no vídeo, esses não são exatamente os requisitos. O 'entrevistador' mudou várias vezes.)
por exemplo.
sum2 8 <<EOF
1
7
4
6
5
3
8
2
EOF
O status de impressões 3
e 5
saída é 0. Observe isso 1,7
e 2,6
também teria resultados permitidos.
sum2 8 <<EOF
1
2
3
4
Retorna o status de saída 1, pois não há combinação possível. 4,4
não é permitido, de acordo com a regra 5.