Zainspirowany tym pytaniem na temat SO , Twoim zadaniem jest stworzenie programu, który będzie działał w (co najmniej) dwóch głównych wersjach wybranego języka, które generują różne wyniki.
Zasady
- Można użyć dowolnego języka, który ma więcej niż jedną wersję główną.
- Na potrzeby tego wyzwania sugerowałbym, że „wersja główna” to miejsce, w którym zmienia się pierwsza liczba w numerze wersji.
- PHP 4 i PHP 5 są różne, PHP 5.3 i PHP 5.4 nie są.
- Ponieważ jednak nie znam schematu wersjonowania dla wszystkich języków, jeśli możesz wystarczająco dobrze argumentować w swojej sprawie, jestem pewien, że społeczność określi, czy sam rzetelnie określiłeś „główną wersję”.
- Na potrzeby tego wyzwania sugerowałbym, że „wersja główna” to miejsce, w którym zmienia się pierwsza liczba w numerze wersji.
- Kod należy skompilować i uruchamiać za pomocą tych samych flag i wprowadzać za każdym razem
- Z wyjątkiem zmiany wersji języka, jeśli jest to istotne
- Błędy nie liczą się jako dane wyjściowe, a odpowiedzi, które powodują błędy, są dyskwalifikowane (zamiast tego wynik błędu jest po prostu ignorowany)
- Program nie powinien pobierać danych innych niż wymagane do uruchomienia.
- Dla każdej danej wersji wynik powinien być zawsze taki sam
- Chodzi o to, aby zmiana była konsekwencją zmiany specyfikacji języka, a nie specyfikacji VM lub metadanych środowiskowych
Punktacja
- ocena typu golf-kod dla długości, więc
+1
dla każdego znaku / bajtu -1
dla każdej różnicy w długości wyjściowej.- np. wyjścia w wersji 1
abcde
(5 znaków), wyjścia w wersji 2123abc
(6 znaków) =-1
- np. wyjścia w wersji 1
Inne zasady
- Obowiązują standardowe wyjątki - bez programów zewnętrznych, żądań internetowych itp.
- Twój program powinien zakończyć się (w ciągu 2 sekund)
- Najniższy wynik wygrywa.
Punktacja „lepsza”
Zachowaj oryginalne odpowiedzi, w trosce o sprawiedliwość, oznaczę zwycięzcę na podstawie oryginalnych zasad.
Ponieważ moja pierwotna punktacja jest zasadniczo zepsuta, dlaczego nie powtórzyć punktacji / spróbować ponownie za pomocą następującego systemu punktacji:
- ocena typu golf-kod dla długości, więc
+1
dla każdego znaku / bajtu +1
dla każdej różnicy długości wydrukuabcde
i123456
->+1
-1
dla każdej unikalnej różnicy znaków na wyjściu (ograniczona do długości najkrótszego wyniku)abcde
i123456
->-5
12345
i123456
->-1
12345
i123455
->0
- Wyniki najbliższe zerowej wygranej
- W przypadku drugiego remisu wygrywa prosty wynik golfowy .
zzzz
i aaaa
czy to mi da -4
? Tak mi się wydaje.