4, 8, 15, 16, 23, 42
Напишите программу, которая выводит эту последовательность чисел бесконечно. Тем не менее, номера не должны появляться в вашем исходном коде нигде.
Следующее не является допустимой программой Java для вывода чисел, потому что числа появляются в исходном коде:
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)
);
}
}
Определение «Числа не должны появляться в вашем исходном коде» выглядит следующим образом:
- Вы не должны использовать цифру 4.
- Вы не должны использовать цифру 8.
- Вы не должны использовать цифру 1, а затем цифру 5.
- Вы не должны использовать цифру 1, а затем цифру 6.
- Вы не должны использовать цифру 2, а затем цифру 3.
Если ваш язык игнорирует определенные символы, которые могут быть помещены между цифрами, это недопустимая замена. Так, например, если ваш язык интерпретирует литерал 1_5
как15
, это будет считаться цифрой 1, за которой следует цифра 5.
Альтернативные основания включены в ограничение, например:
- Binary 100 не может быть заменен 4.
- Восьмеричное 10 не может быть использовано вместо 8.
- Шестнадцатеричный F не может использоваться вместо 15.
Следовательно, следующее является допустимой (но не очень вдохновляющей) Java-программой для вывода чисел, поскольку числа не отображаются в исходном коде:
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);
}
}
}
Обратите внимание, что в этой программе '*'
и'&'
заменены целые числа 42 и 38, поскольку в противном случае цифры 4 и 8 появятся в его исходном коде.
Определение «выводит последовательность бесконечно» открыто для интерпретации. Так, например, программа, которая выводит глифы, уменьшающиеся, пока они не становятся «бесконечно» маленькими, будет действительной.
Престижность, если вы можете сгенерировать последовательность каким-либо образом, который не в основном жестко кодирует каждое число.
- Вывести его в формулу. У меня сложилось впечатление, что нет ни одного, но, возможно, есть или это может быть подделано.
- Исправление псевдослучайного генератора для возврата последовательности.
Это конкурс популярности, так что будьте креативны. Ответ с наибольшим количеством голосов 26 марта - победитель.
This isn't an interesting question, IMHO, since the solution is pretty trivial. Please post in the sandbox next time.
было бы намного лучше This is a stupid question.
, но это только мое личное мнение.