Napisz możliwie najkrótszy program, tak aby po połączeniu pierwszego znaku i każdego N-tego znaku po nim w nowy program, wynikiem było N. To musi działać dla N = 1, 2, ..., 16.
Innym sposobem na powiedzenie tego jest, że jeśli usuniesz wszystkie znaki ze swojego programu, z wyjątkiem pierwszego, a następnie co N-tego, wynik pozostałych kodów powinien wynosić N.
Przykład
Jeśli twój kod był
ABCDEFGHIJKLMNOP
N = 1 powoduje ABCDEFGHIJKLMNOP
. Uruchomienie tego powinno dać wynik 1.
N = 2 powoduje ACEGIKMO
. Uruchomienie tego powinno dać wynik 2.
N = 3 powoduje ADGJMP
. Uruchomienie tego powinno dać wynik 3.
N = 4 powoduje AEIM
. Uruchomienie tego powinno dać wynik 4.
N = 5 powoduje AFKP
. Uruchomienie tego powinno dać wynik 5.
N = 6 powoduje AGM
. Uruchomienie tego powinno dać wynik 6.
N = 7 powoduje AHO
. Uruchomienie tego powinno dać wynik 7.
N = 8 powoduje AI
. Uruchomienie tego powinno dać wynik 8.
N = 9 powoduje AJ
. Uruchomienie tego powinno dać wynik 9.
N = 10 powoduje AK
. Uruchomienie tego powinno dać wynik 10.
N = 11 powoduje AL
. Uruchomienie tego powinno dać wynik 11.
N = 12 powodujeAM
. Uruchomienie tego powinno dać wynik 12.
N = 13 powoduje AN
. Uruchomienie tego powinno dać wynik 13.
N = 14 powoduje AO
. Uruchomienie tego powinno dać wynik 14.
N = 15 powoduje AP
. Uruchomienie tego powinno dać wynik 15.
N = 16 powoduje A
. Uruchomienie tego powinno dać wynik 16.
Detale
- Wszystkie znaki są dozwolone, ASCII i inne niż ASCII. (Dozwolone są również znaki nowej linii i niedrukowalne ASCII. Zwróć uwagę, że znak powrotu karetki i znak wiersza liczą się jako odrębne znaki).
- Twój wynik to długość znaków w niezmienionym programie (na przykład 15). Najniższy wynik wygrywa.
- Wynik poniżej 16 jest oczywiście niemożliwy, ponieważ co najmniej dwa ze zmienionych programów byłyby identyczne.
- Dane wyjściowe mogą być wysyłane do pliku lub standardowego pliku lub do dowolnego innego rozsądnego rozwiązania. Jednak wyjście 16 różnych programów musi przejść do tego samego miejsca (np. Nie jest ok, jeśli
AO
idzie na standardowe wyjście, aleA
do pliku). Brak danych wejściowych. - Dane wyjściowe muszą być dziesiętne, a nie szesnastkowe. Rzeczywiste wyjście powinno zawierać tylko 1 lub 2 znaki, które składają się na liczbę od 1 do 16, nic więcej. (Rzeczy takie jak Matlab
ans =
są w porządku.) - Twój program nie musi działać dla N = 17 lub wyższej.
ABCDEFGHIJKLMNO
a N = 15
kod wynikowy jest po prostu A
.