Neste desafio, tentamos resolver dois problemas importantes ao mesmo tempo. Eles são:
- Inteiros dadas a e b , dizer se um b -1 é um número primo.
- Dados os números a e b , retorne nCr (a, b).
Especificamente, você deve escrever dois programas, um que executa a primeira tarefa e outro que executa a outra. Como queremos resolver os dois problemas ao mesmo tempo, é recomendável usar o mesmo trecho de código nos dois programas.
Pontuação
A pontuação de uma resposta é a distância de Levenshtein entre os dois programas. Menor pontuação é melhor. Em caso de empate, a resposta com o código combinado mais curto dos dois programas vence. Você pode usar esse script para calcular a pontuação da sua solução.
Regras
- Você deve escrever dois programas no mesmo idioma que resolvam as tarefas descritas acima. Você pode usar qualquer método de E / S que desejar. Para a tarefa 1, você pode retornar um valor de verdade / falsidade ou escolher dois valores para significar verdadeiro e falso e retorná-los de acordo. Por exemplo. você pode escolher que
"prime"
significa verdadeiro e"not prime"
falso. - Os algoritmos que você usa devem funcionar para todas as entradas possíveis, mas tudo bem se o código falhar para números grandes devido a limitações do tipo de número usado. Você pode assumir que a entrada é válida.
Nenhum subconjunto do programa deve resolver o problema, ou seja. o código não deve funcionar se algum caractere for removido. Por exemplo, o código a seguir não é válido, porque é possível remover o outro bloco não utilizado sem interromper o programa:
if (1) { /* change to 0 to get the second program*/ ... } else { ... }
As brechas padrão não são permitidas.
Casos de teste
a b -1 é primo?
a b
1 1 false
2 3 true
5 2 false
2 5 true
4 3 false
2 7 true
nCr
a b nCr(a,b)
1 1 1
5 2 10
4 3 4
10 7 120
12 5 792