जावा - 1331 बाइट्स, 618 बाइट्स और 504 बाइट्स
यहाँ यह जावा में है। अच्छी बात यह है कि यह काफी सुपाच्य और लचीला है। आप SHIFT
चर को 0 में बदलने के लिए प्रयोग कर सकते हैं और यह एक क्वीन होगा। आप नकारात्मक मान सहित, जो भी चाहें उसे बदल सकते हैं और यह तदनुसार कोड को स्थानांतरित कर देगा।
public class Quinex {
private static final int SHIFT = 1;
private static String next(String now, boolean mangles) {
String sb = "";
for (char c : now.toCharArray()) {
if (!mangles && c == 87) {
sb += next(String.valueOf(SHIFT), true);
} else {
sb += (char) ((mangles ? c : c == 94 ? 10 : c == 64 ? 34 : c) + SHIFT);
}
}
return sb;
}
public static void main(String... args) {
System.out.println(next(TEXT, false) + next(TEXT, true) + new String(new char[] { 34, 59, 10, 125 }));
}
private static final String TEXT = "public class Quinex {^^ private static final int SHIFT = W;^^ private static String next(String now, boolean mangles) {^ String sb = @@;^ for (char c : now.toCharArray()) {^ if (!mangles && c == 87) {^ sb += next(String.valueOf(SHIFT), true);^ } else {^ sb += (char) ((mangles ? c : c == 94 ? 10 : c == 64 ? 34 : c) + SHIFT);^ }^ }^ return sb;^ }^^ public static void main(String... args) {^ System.out.println(next(TEXT, false) + next(TEXT, true) + new String(new char[] { 34, 59, 10, 125 }));^ }^^ private static final String TEXT = @";
}
हालांकि, पिछली कक्षा में एकमात्र खामी लाइन ब्रेक हैं, जो प्रश्न युक्ति में अनुमत नहीं हैं (सीमा 32 से 125 के बाहर हैं)। इसलिए मैं यहां एक गोल्फ संस्करण देता हूं जो लाइन ब्रेक से मुक्त है (और उन्हें संभालने के लिए quirks से मुक्त है)। S
परिवर्तन को बदलने के लिए आप चर का मान संपादित कर सकते हैं । यह 618 बाइट्स है:
class Q{static String g(String p,int m){int S=1;String u="";for(char c:p.toCharArray()){if(m==0&&c==87){u+=g(String.valueOf(S),1);}else{u+=(char)((m>0?c:c==64?34:c)+S);}}return u;}public static void main(String[]y){System.out.println(g(T,0)+g(T,1)+new String(new char[]{34,59,125}));}static final String T="class Q{static String g(String p,int m){int S=W;String u=@@;for(char c:p.toCharArray()){if(m==0&&c==87){u+=g(String.valueOf(S),1);}else{u+=(char)((m>0?c:c==64?34:c)+S);}}return u;}public static void main(String[]y){System.out.println(g(T,0)+g(T,1)+new String(new char[]{34,59,125}));}static final String T=@";}
निश्चित रूप से, यदि हम ऑफ़सेट के ठीक समायोजन को छोड़ देते हैं और शिफ्ट के मूल्य को हार्डकोड करते हैं, तो हम 504 बाइट्स के साथ पूरी तरह से गोल्फ संस्करण कर सकते हैं:
class Q{static String g(String p,int m){String u="";for(char c:p.toCharArray()){u+=(char)((m>0?c:c==64?34:c)+1);}return u;}public static void main(String[]y){System.out.println(g(T,0)+g(T,1)+new String(new char[]{34,59,125}));}static final String T="class Q{static String g(String p,int m){String u=@@;for(char c:p.toCharArray()){u+=(char)((m>0?c:c==64?34:c)+1);}return u;}public static void main(String[]y){System.out.println(g(T,0)+g(T,1)+new String(new char[]{34,59,125}));}static final String T=@";}