In questa sfida cerchiamo di risolvere due problemi importanti contemporaneamente. Loro sono:
- Interi Dato un e b , dire se un b -1 è un numero primo.
- Interi Dato un e b , restituiscono nCr (a, b).
In particolare, è necessario scrivere due programmi, uno che esegue la prima attività e uno che esegue l'altra. Dato che vogliamo risolvere entrambi i problemi contemporaneamente, si consiglia di utilizzare lo stesso codice in entrambi i programmi.
punteggio
Il punteggio di una risposta è la distanza di Levenshtein tra i due programmi. Il punteggio più basso è migliore. In caso di pareggio, vince la risposta con il codice combinato più breve dei due programmi. È possibile utilizzare questo script per calcolare il punteggio della soluzione.
Regole
- È necessario scrivere due programmi nella stessa lingua che risolvono le attività sopra descritte. È possibile utilizzare qualsiasi metodo I / O desiderato. Per l'attività 1, è possibile restituire un valore di verità / falsità o scegliere due valori per indicare vero e falso e restituirli di conseguenza. Per esempio. puoi scegliere che
"prime"
significa vero e"not prime"
significa falso. - Gli algoritmi utilizzati devono funzionare per tutti i possibili input, ma è OK se il codice non riesce per numeri grandi a causa delle limitazioni del tipo di numero utilizzato. Si può presumere che l'input sia valido.
Nessun sottoinsieme del programma deve risolvere il problema, ad es. il codice non deve funzionare se vengono rimossi dei caratteri. Ad esempio, il seguente codice non è valido, poiché è possibile rimuovere il blocco else inutilizzato senza interrompere il programma:
if (1) { /* change to 0 to get the second program*/ ... } else { ... }
Non sono ammesse scappatoie standard.
Casi test
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