Wszystkie wyzwania quine na tej stronie dotyczą liczby bajtów lub samych postaci. Ten jest inny. Wyzwanie polega na napisaniu programu, który generuje dane wyjściowe, które mają sumę punktów kodowych identyczną z sumą punktów kodowych źródła.
Aby wygenerować sumę punktu kodowego:
- Znajdź wartości znaków w zestawie znaków programu.
Na przykład -FOO
w ASCII:F
= 70,O
= 79,O
= 79 - Dodaj je wszystkie razem.
Suma punktów kodowychFOO
w ASCII:F
+O
+O
= 70 + 79 + 79 = 228.
Przykładem sumy sum ASCII byłoby, gdyby kod źródłowy był, ABC
a wynik był !!!!!!
. Jest tak, ponieważ suma wartości ASCII źródła ( A
= 65, B
= 66, C
= 67, suma = 198) jest taka sama jak suma wartości ASCII na wyjściu ( !
= 33, 33 * 6 = 198) . BBB
byłyby również prawidłowe dane wyjściowe, podobnie jak cc
.
Zasady
- Twój program nie może być odwrócony, tasowany, błędny ani żadnego innego rodzaju „prawdziwej” quine. Aby rozwinąć: Jeśli dane wyjściowe zawierają wszystkie te same znaki co źródło, są niepoprawne.
- Twój program nie może używać żadnych błędów / ostrzeżeń z kompilatora / interpretera jako danych wyjściowych.
- Źródło twojego programu musi używać tej samej strony kodowej co dane wyjściowe.
- Twój program może używać dowolnej strony kodowej utworzonej przed tym wyzwaniem.
- Dane wyjściowe programu nie mogą zawierać żadnych niedrukowalnych znaków (np. ASCII od 0 do 31 lub więcej niż 127) poza liniami i tabulatorami.
- Obowiązują standardowe luki.
- Jeśli źródło i / lub dane wyjściowe mają końcowe podawanie linii, musi zostać uwzględnione w sumie punktów kodowych.
- Flagi kompilatora muszą być uwzględnione w końcowej liczbie bajtów (wynik), ale nie suma punktów kodowych źródła.
- Wyjście / źródło nie może być puste.
Punktacja
Najkrótsza odpowiedź w liczbie bajtów (nie suma punktów kodowych) wygrywa. Proszę użyć tego formatu nagłówka odpowiedzi:
# Jelly, 12 bytes, sum 56 (SBCS)
Możesz użyć tego narzędzia do obliczenia sum ASCII.
Odniesienie
Oto kilka przydatnych odniesień do strony kodowej.