XOR अन्य कार्यक्रमों के स्रोत के साथ अपने कार्यक्रमों को एन्क्रिप्ट करें


24

दो प्रोग्राम ऐसे लिखें, जब उनके स्रोत कोड के बाइट्स XOR-d एक साथ हों, यह एक ही भाषा में तीसरा, वैध प्रोग्राम तैयार करता है। बाइट्स में तीन कार्यक्रमों में से प्रत्येक की लंबाई समान होनी चाहिए।

पहला प्रोग्राम आउटपुट होना चाहिए A। दूसरा प्रोग्राम आउटपुट होना चाहिए B। तीसरा कार्यक्रम आउटपुट होना चाहिए C

एक नई पंक्ति वैकल्पिक है, लेकिन यदि कोई एक नई पंक्ति का उत्पादन करता है, तो दोनों को भी आवश्यक है।

यदि आप किसी भी कमांड लाइन के झंडे का उपयोग करते हैं, तो आपको प्रत्येक कार्यक्रम के लिए समान होना चाहिए, अर्थात तीनों कार्यक्रमों को उसी तरह निष्पादित किया जाना चाहिए। यदि आप PHP जैसी भाषा का उपयोग कर रहे हैं, जो परंपरागत रूप से वर्णों के समान संयोजन के साथ शुरू होती है, उदाहरण के लिए, <?लेकिन एक कमांड लाइन विकल्प है जो उन वर्णों को छोड़ देता है जिन्हें आप उपयोग कर सकते हैं, अर्थात PHP को केवल कमांड लाइन से चलाया जाना चाहिए।

किसी इनपुट की अनुमति नहीं है। प्रत्येक कार्यक्रम को स्व-निहित होना चाहिए।

यदि आपका कार्यक्रम पूरी तरह से ASCII में लिखा गया है, तो निम्न तालिकाएं मदद कर सकती हैं:

Codes 0x20 - 0x3F
 !"#$%&'()*+,-./
0123456789:;<=>?

Codes 0x40 - 0x5F
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_

Codes 0x60 - 0x7E
`abcdefghijklmno
pqrstuvwxyz{|}~

संपादित करें

गैर-मुद्रण वर्णों का उपयोग करने की अनुमति है क्योंकि मैंने इसे मूल रूप से स्पष्ट रूप से मना नहीं किया था। हालाँकि, यदि आप एक ऐसा संस्करण पोस्ट करना चाहते हैं जो केवल मुद्रण योग्य पात्रों का उपयोग करता है और साथ ही साथ यह बहुत अच्छा होगा! (स्कोर जो भी सबसे कम हो।) नियंत्रण कोड का उपयोग करने का "चतुर कारक" अब कुछ हद तक खराब हो गया है ...

अंत संपादित करें

एक ही ब्लॉक से XOR-ing किसी भी दो कोड को 0x20 से कम कोड का उत्पादन करेगा जो इसलिए एक मान्य मुद्रण योग्य ASCII कोड नहीं है, जैसे A0x41 ( Z) XOR 0x5A ( ) = 0x1B। XOR-ing विभिन्न ब्लॉकों से किसी भी दो कोडों को तीसरे ब्लॉक से एक कोड का उत्पादन करेगा, जैसे 0x61 ( a) XOR 0x54 ( T) = 0x35 ( 5)।

    |  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_
--- + --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
 @` |  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_
!Aa | !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~
"Bb | "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]}
#Cc | #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\|
$Dd | $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{
%Ee | %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz
&Ff | &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy
'Gg | 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @` /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx
(Hh | (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_ 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww
)Ii | )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~ 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv
*Jj | *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]} 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu
+Kk | +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\| 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt
,Ll | ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{ 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss
-Mm | -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr
.Nn | .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq
/Oo | /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @` ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp
0Pp | 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo
1Qq | 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~ !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn
2Rr | 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]} "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm
3Ss | 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\| #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll
4Tt | 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{ $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk
5Uu | 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj
6Vv | 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii
7Ww | 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @` /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh
8Xx | 8Xx 9Yy :Zz ;[{ <\| =]} >^~ ?_ 0Pp 1Qq 2Rr 3Ss 4Tt 5Uu 6Vv 7Ww (Hh )Ii *Jj +Kk ,Ll -Mm .Nn /Oo  @` !Aa "Bb #Cc $Dd %Ee &Ff 'Gg
9Yy | 9Yy 8Xx ;[{ :Zz =]} <\| ?_ >^~ 1Qq 0Pp 3Ss 2Rr 5Uu 4Tt 7Ww 6Vv )Ii (Hh +Kk *Jj -Mm ,Ll /Oo .Nn !Aa  @` #Cc "Bb %Ee $Dd 'Gg &Ff
:Zz | :Zz ;[{ 8Xx 9Yy >^~ ?_ <\| =]} 2Rr 3Ss 0Pp 1Qq 6Vv 7Ww 4Tt 5Uu *Jj +Kk (Hh )Ii .Nn /Oo ,Ll -Mm "Bb #Cc  @` !Aa &Ff 'Gg $Dd %Ee
;[{ | ;[{ :Zz 9Yy 8Xx ?_ >^~ =]} <\| 3Ss 2Rr 1Qq 0Pp 7Ww 6Vv 5Uu 4Tt +Kk *Jj )Ii (Hh /Oo .Nn -Mm ,Ll #Cc "Bb !Aa  @` 'Gg &Ff %Ee $Dd
<\| | <\| =]} >^~ ?_ 8Xx 9Yy :Zz ;[{ 4Tt 5Uu 6Vv 7Ww 0Pp 1Qq 2Rr 3Ss ,Ll -Mm .Nn /Oo (Hh )Ii *Jj +Kk $Dd %Ee &Ff 'Gg  @` !Aa "Bb #Cc
=]} | =]} <\| ?_ >^~ 9Yy 8Xx ;[{ :Zz 5Uu 4Tt 7Ww 6Vv 1Qq 0Pp 3Ss 2Rr -Mm ,Ll /Oo .Nn )Ii (Hh +Kk *Jj %Ee $Dd 'Gg &Ff !Aa  @` #Cc "Bb
>^~ | >^~ ?_ <\| =]} :Zz ;[{ 8Xx 9Yy 6Vv 7Ww 4Tt 5Uu 2Rr 3Ss 0Pp 1Qq .Nn /Oo ,Ll -Mm *Jj +Kk (Hh )Ii &Ff 'Gg $Dd %Ee "Bb #Cc  @` !Aa
?_ | ?_ >^~ =]} <\| ;[{ :Zz 9Yy 8Xx 7Ww 6Vv 5Uu 4Tt 3Ss 2Rr 1Qq 0Pp /Oo .Nn -Mm ,Ll +Kk *Jj )Ii (Hh 'Gg &Ff %Ee $Dd #Cc "Bb !Aa  @`

अलग-अलग स्तंभों के दो वर्णों को देखें और वर्ण को दूसरे चौराहे से उठाएं , जैसे कि अन्य स्तंभ में, Bऔर e: "BbXOR %Eeहै 'GgBदूसरे स्तंभ है और eतीसरे स्तंभ तो में पहले स्तंभ से चरित्र लेने है 'Gg: '

उदाहरण स्रोत:

 Ld+|?dpHs'-,pUe    (Program 1)
~bWn=n5Xe!t_G($3    (Program 2)
^.3EAQQ(-RSrkXqV    (Program 3)

ध्यान दें कि प्रत्येक कॉलम में केवल एक अंक, एक बड़ा अक्षर और एक निचला अक्षर हो सकता है। प्रत्येक कॉलम के लिए आप पहले प्रोग्राम में अपने पसंद के किसी भी चरित्र का उपयोग कर सकते हैं, फिर दूसरे कार्यक्रम में 64 अक्षरों की आपकी पसंद लेकिन तीसरे कार्यक्रम में केवल एक ही संभव चरित्र। 0x7F कहीं भी मान्य नहीं है।

यदि आप यूनिकोड का उपयोग करते हैं तो यह XOR-ing को मान्य करने के लिए आपके ऊपर है और आपको कहना होगा कि यह कैसे एन्कोडेड है, जैसे UTF-8, UTF-16, आदि प्रत्येक फ़ाइल को एक ही एन्कोडिंग का उपयोग करना चाहिए।

स्कोर: एक कार्यक्रम की लंबाई। सबसे कम बाइट्स जीत!

जवाबों:


13

GolfScript, 6 बाइट्स

A'AA'|

बी

cdc"B"

सी

"C"ce^

|और ^खाली इनपुट स्ट्रिंग के साथ समुच्चय या xor हैं, जो स्ट्रिंग में डुप्लिकेट को हटाने के अलावा कुछ नहीं करेंगे।

मूल संस्करण (गैर-मुद्रण योग्य वर्णों के साथ)

Xz'A'v

बी

z9\x05"B"

सी

"C"ceT

GolfScript अपरिभाषित चीजों की उपेक्षा करता है, और तीन कार्यक्रम बस हैं 'A' "B" "C"


12

जावास्क्रिप्ट, 23 बाइट्स

कार्यक्रम ए:

alert(' A '[~-~~2],'B')

कार्यक्रम बी:

alert(FL$RSsYnYW1f='B')

कार्यक्रम सी:

\0\0\0\0\0\0alert('C')\0;\0\0\03\0\0

आप निम्न फ़ंक्शन के साथ रूपांतरण का परीक्षण कर सकते हैं:

function xorString(a, b) {
  b = b || '';
  var length = Math.max(a.length, b.length);
  var chars = a.split('').map(function(charA, i) {
    var charB = b[i] || ' ';
    return String.fromCharCode(charA.charCodeAt(0) ^ charB.charCodeAt(0));
  });

  return chars.join('');
}

अच्छा है!!! आप इसे दिखाने वाला एक स्टैकनिपेट शामिल कर सकते हैं।
इस्माइल मिगुएल

3

PHP, 15 + 1 बाइट्स

यह एक था आसान वास्तव में उम्मीद की तुलना में कठिन है, लेकिन मज़ा!
अफसोस की बात है, यह अमान्य उत्तर के कारण 3 रीराइट है।

इस बार, यह कंसोल (पैरामीटर का उपयोग करके -r) में चलाने के लिए है ।

कार्यक्रम ए:

echo A;E925Z9A;

कार्यक्रम बी:

echo B; zzzzzz;

XORing का परिणाम:

\0\0\0\0\0\3\0eCHO C;\0 //base 64: AAAAAAADAGVDSE8gQzsA

हेक्स डंप:

   |00|01|02|03|04|05|06|07|08|09|0A|0B|0C|0D|0E|0F|      TEXT      
--------------------------------------------------------------------
00 |00|00|00|00|00|03|00|65|43|48|4F|20|43|3B|00|  |.......eCHO C;.
====================================================================

PHP गूंज से पहले \0और \3chars होने के बारे में चेतावनी फेंक देगा , लेकिन यह अनभिज्ञ है।
यह सिर्फ चेतावनी है!
यह अभी भी चलाता है और सही उत्तर को आउटपुट करता है!


अपने कंसोल में इसे चलाने का प्रयास करें:

php -r "@eval('echo B; zzzzzz;' ^ 'echo A;E925Z9A;');"

यदि आप नहीं कर सकते हैं, तो इनमें से एक आज़माएँ:

यदि आप अभी भी नहीं कर सकते, तो कोड को स्वयं चलाएं:

<?php

error_reporting( 0 );

$program_a = 'echo A;E925Z9A;';

$program_b = 'echo B; zzzzzz;';

eval( $program_a );

eval( $program_b );

eval( $program_c = $program_a ^ $program_b );

echo PHP_EOL, 'a ^ b = ';

var_dump( $program_c );

पुराना कोड, अमान्य:

कार्यक्रम ए:

<?=A;zzzzz;

कार्यक्रम बी:

<?=B;FEG9A;

XORing का परिणाम:

\0\0\0\0<?=C;\0 //base64: AAAAAwA8Pz1DOwA=

मैं वास्तव \x00में अपने कंसोल में टाइप नहीं कर सकता, लेकिन उन्हें \x03कार्यों के साथ और \x00PHP के भीतर अपने सर्वर पर अभी भी चलाता है इसलिए मैं मान रहा हूं कि आपका जवाब अब मान्य है! मुझे सभी त्रुटियों को दबाने के लिए एक ध्वज का उपयोग करना पड़ा: php -d error_reporting=0 -r "^C^C^C^C^C^CeCHO C;^C"आउटपुट C। पुनर्निर्देशित stderr ( 2>विंडोज के तहत) आउटपुट से सभी त्रुटियों को दबा नहीं था।
सीजे डेनिस

विंडोज कंसोल में आपका कार्यक्रम: "♥ ईसीएचओ सी?"
सीजे डेनिस

@CJDennis चेतावनियों की हमेशा अवहेलना की जाती है। यदि यह एक घातक त्रुटि थी, तो यह सबसे खराब होगा। लेकिन मुझे यह अजीब लगता है कि यह आउटपुट करता है, जब XORing। लेकिन हो सकता है कि \3वहाँ की वजह से , वह दिल क्लब के रूप में दिखाता है। लेकिन क्या आप चाहते हैं कि मैं -dझंडे को गिनती में जोड़ दूं ?
इस्माईल मिगुएल

चूंकि आप GolfScript कोड को नहीं मार रहे हैं, इसलिए इसके बारे में चिंता न करें। यदि आप एक 6 बाइट संस्करण पाते हैं तो मुझे पुनर्विचार करना होगा! लेकिन मुझे अपनी php.ini फाइल को साफ-सुथरे तरीके से काम करने के लिए दोबारा बनाए बिना वास्तव में कड़ी मेहनत करनी पड़ी! विंडोज \x03को दिल में बदलने का तरीका मुझे बहुत पसंद आया ! विंडोज ♥ PHP!
सीजे डेनिस

1
हां, @सभी त्रुटियों को दबाने में कामयाब रहे!
सीजे डेनिस

3

पिप, 4 बाइट्स

चूंकि user23013 GolfScript में गैर-मुद्रण ASCII का उपयोग कर रहा है, मुझे लगा कि मैं पिप में भी ऐसा कर सकता हूं । इसके लिए पुनर्निर्देशन की आवश्यकता होती है stderr, लेकिन यह ठीक है , है ना?

??'A

जहाँ दोनों ?एससीआईआई 0 का प्रतिनिधित्व करते हैं।

बी

'C'B

सी

'C??

जहां दो ?एस क्रमशः ASCII वर्ण 0 और 3 का प्रतिनिधित्व करते हैं।

प्रत्येक प्रोग्राम को फ़ाइल में रखें ( A.pipउदाहरण के लिए)। लिनक्स पर, करें:

./pip.py A.pip 2>/dev/null

विंडोज पर:

pip.py A.pip 2>nul

यदि त्रुटि आउटपुट वर्बोटेन है, तो मुद्रण योग्य ASCII में 5-बाइट समाधान है:

pAa'A
 f"B"
P'Cec

हां, दोनों पुनर्निर्देशित स्टडर (जैसा कि यह है!) और गैर-मुद्रण वर्णों का उपयोग करने की अनुमति है। मैं आपको एक पूरी तरह से मुद्रण योग्य संस्करण पोस्ट करने की सराहना करता हूं, हालांकि!
सीजे डेनिस

2

माइक्रोस्क्रिप्ट , 8 बाइट्स प्रत्येक

ए: 'APhgap)

बी: 'BPh@" A

सी: <0><3><0><0>'CPh


मुझे महसूस नहीं हुआ कि स्रोत में नियंत्रण कोड के साथ बहुत सी भाषाएं बहुत क्षमाशील हैं। अन्य उत्तरों पर एक नज़र डालें, जिनमें से कुछ गैर-मुद्रण कोड का उपयोग करते हैं। वही करने के लिए स्वतंत्र महसूस करो!
सीजे डेनिस

मैंने सोचा कि यह गैर-मुद्रण ASCII का उपयोग न करने के लिए कहा है, लेकिन मैं गलत हो सकता हूं। संपादित करें: और अब मैं देखता हूं कि आपने इसे बदल दिया है। ठीक है, मैं देखूंगा कि मैं क्या कर सकता हूं।
सुपरजेडि २२४

1
ऐसा नहीं होना चाहिए <0><3><0><0>...?
सीजे डेनिस

आप सही हे। उसे इंगित करने के लिए धन्यवाद।
SuperJedi224

2

अजगर, 19 15 14 बाइट्स

a.py

00000000  70 72 69 6e 00 28 32 50  69 0a 74 22 41 22        |prin.(2Pi.t"A"|

b.py

00000000  70 72 69 6e 74 22 42 22  00 64 00 00 02 00        |print"B".d....|

c.py

00000000  00 00 00 00 74 0a 70 72  69 6e 74 22 43 22        |....t.print"C"|

मैं इस समाधान के साथ आया था जब मैंने देखा कि एनयूएल चरित्र को देखने के बाद अजगर (2.7.6 Ubuntu 14.04 पर 2.7.6) उस लाइन के बाकी हिस्सों को अनदेखा कर देगा।

1 बाइट्स से छोटा होने के बाद मुझे पता चला कि प्रिंट के बाद की जगह की जरूरत नहीं थी। और 4 बाइट्स से छोटा होने के बाद मैंने महसूस किया कि एनयूएल के चरित्र की वजह से भी नई लाइन को नजरअंदाज किया जाता है इसलिए मैं इसका इस्तेमाल किसी कीवर्ड के बीच में लाइनों को तोड़ने के लिए कर सकता हूं।


0

चिप , 8 बाइट्स

सभी को ध्वज की आवश्यकता है -w

कार्यक्रम ए

a*gt*...

( .अशक्त चरित्र है \x00)

कार्यक्रम बी

...*gb*t

( .अशक्त चरित्र है \x00)

कार्यक्रम सी

a*g^Mb*t

A और B दोनों प्रत्येक को तीन चेतावनियाँ देते हैं (जैसे:) 1:6 WARN: '' (0) is not a valid character, लेकिन उन्हें सुरक्षित रूप से नजरअंदाज किया जा सकता है क्योंकि वे stderr पर जाते हैं। तत्व ^और Mमान्य हैं, लेकिन यहां कुछ भी नहीं है।

मुझे पूरा यकीन है कि यह सबसे अच्छा है जो गैर-प्रिंटबल्स के साथ किया जा सकता है। मुझे यकीन नहीं है कि यह सबूत पूरा हो गया है, लेकिन यहाँ जाता है:

एक की आवश्यकता है a, g, t, और उन तत्वों को सक्रिय करने के लिए किसी तरह (दो प्रतीकों की एक न्यूनतम इस के लिए आवश्यक हैं, और *यहाँ सबसे आसान विकल्प है)। इसी तरह,
बी की आवश्यकता है b, g, t, और दो *, और
सी की आवश्यकता है a, b, g, t, और दो *रों।

यदि C अपने प्रतीकों को A और B से सीधे उधार लेता है, तो दो अक्षर और दो *s होंगे जो लावारिस बने हुए हैं। (मेरे कार्यान्वयन में, ए tऔर बी के g)। उन चार तत्वों को ओवरलैप किया जा सकता है ताकि वे सी (उत्पादन ^और Mइस मामले में) में मंगाई जाएं । अब हमारे पास वे दो मैंगल्ड तत्व हैं, साथ ही ऊपर से छह आवश्यक तत्व हैं (C को 6 की आवश्यकता है, अन्य को केवल 5 की आवश्यकता है, लेकिन हमें कुल 8 तत्वों के लिए अधिकतम () की आवश्यकता है)।


चिप (चेतावनी-मुक्त), 10 बाइट्स

सभी को झंडे की आवश्यकता है -wo

कार्यक्रम ए

a*HH^t*Gg 

(एक अनुगामी स्थान है)

कार्यक्रम बी

KKb*t*^g G

कार्यक्रम सी

*a*b*^t Gg

यह स्पष्ट रूप से सबसे अच्छा है जो हम मुद्रण योग्य एएससीआईआई के भीतर कर सकते हैं, निम्नानुसार है: तीन कार्यक्रमों, संयुक्त, को कुल 2 aएस, 2 bएस, 3 gएस, और 3 tएस की आवश्यकता होती है। चूंकि इनमें से कोई भी चरित्र दूसरे में संक्रमण नहीं कर सकता है, हमें 2+2+3+3 = 10अलग-अलग पदों की आवश्यकता होती है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.