4, 8, 15, 16, 23, 42
Scrivi un programma che emette questa sequenza di numeri all'infinito. Tuttavia, I numeri non devono apparire nel codice sorgente da nessuna parte.
Quanto segue non è un programma Java valido per l'output di The Numbers perché The Numbers appare nel suo codice sorgente:
class TheNumbers {
public static void main(String[] args) {
for(int n = 0;;) System.out.println(
n == 4 ? n = 8 :
n == 8 ? n = 15 :
n == 15 ? n = 16 :
n == 16 ? n = 23 :
n == 23 ? n = 42 : (n = 4)
);
}
}
La definizione di "I numeri non deve apparire nel codice sorgente" è la seguente:
- Non è necessario utilizzare il numero 4.
- Non è necessario utilizzare il numero 8.
- Non è necessario utilizzare il numero 1 seguito dal numero 5.
- Non è necessario utilizzare il numero 1 seguito dal numero 6.
- Non è necessario utilizzare il numero 2 seguito dal numero 3.
Se la tua lingua ignora alcuni caratteri che possono essere inseriti tra i numeri, non è una sostituzione valida. Quindi, ad esempio, se la tua lingua interpreta il letterale 1_5
come 15
, questo conterebbe come il numero 1 seguito dal numero 5.
Le basi alternative sono incluse nella restrizione, quindi ad esempio:
- Binary 100 non può essere utilizzato come sostituto di 4.
- Il 10 ottobre non può essere utilizzato come sostituto di 8.
- La F esadecimale non può essere utilizzata come sostituto di 15.
Pertanto, il seguente è un programma Java valido (ma non molto ispirato) per l'output di The Numbers perché The Numbers non appare nel suo codice sorgente:
class TheNumbers {
public static void main(String[] args) {
for(int n = '*';;) {
System.out.println(n -= '&');
System.out.println(n *= 2);
System.out.println(n += 7);
System.out.println(++n);
System.out.println(n += 7);
System.out.println(n += 19);
}
}
}
Si noti che in quel programma, '*'
e '&'
sono sostituiti con gli interi 42 e 38, perché altrimenti i numeri 4 e 8 apparirebbero nel suo codice sorgente.
La definizione di "emette la sequenza all'infinito" è aperta all'interpretazione. Quindi, per esempio, sarebbe valido un programma che produce glifi che diventano più piccoli fino a quando non sono "infinitamente" piccoli.
Complimenti se sei in grado di generare la sequenza in qualche modo che non è sostanzialmente codificante per ogni numero.
- Derivandolo a una formula. La mia impressione è che non ce n'è una ma forse c'è o può essere falsificata.
- Correzione di un generatore pseudo-casuale per restituire la sequenza.
Questo è un concorso di popolarità, quindi sii creativo. La risposta con il maggior numero di voti il 26 marzo è il vincitore.
This isn't an interesting question, IMHO, since the solution is pretty trivial. Please post in the sandbox next time.
sarebbe molto meglio di This is a stupid question.
, ma questa è solo la mia opinione personale.