কোলমোগোরভ নমনীয়তা। একা বিক্রয়! স্টক সর্বশেষে


12

এটি কোনও , , কোনও ইনপুট ছাড়াই স্থির আউটপুট উত্পাদন করার জন্য চ্যালেঞ্জ।

আউটপুট ফর্ম্যাটটি যদিও নমনীয় - এটি স্ট্যান্ডার্ড আউটে মুদ্রিত হতে পারে, স্ট্যান্ডার্ড ত্রুটিতে মুদ্রিত হতে পারে, অক্ষরের তালিকা হিসাবে ফিরে আসে, বাইটের তালিকা হিসাবে ফিরে আসে বা পূর্ণসংখ্যার তালিকা হিসাবে ফিরে আসে। আপনি যদি অন্য কিছু যুক্তিসঙ্গত বলে মনে করেন তবে মন্তব্যগুলিতে জিজ্ঞাসা করুন!

এখানে একটি সাধারণ, বড়-অক্ষরের ASCII আর্ট কোডিওএলপি :

 CCCC   OOO   DDDD   EEEEE   GGG    OOO   L      FFFFF
C      O   O  D   D  E      G      O   O  L      F
C      O   O  D   D  EEE    G  GG  O   O  L      FFF
C      O   O  D   D  E      G   G  O   O  L      F
 CCCC   OOO   DDDD   EEEEE   GGGG   OOO   LLLLL  F

কোনও নতুনলাইন ছাড়াই (বা কোনও লাইনে স্পেস পেছন) 256 অক্ষর দীর্ঘ:

 CCCC   OOO   DDDD   EEEEE   GGG    OOO   L      FFFFFC      O   O  D   D  E      G      O   O  L      FC      O   O  D   D  EEE    G  GG  O   O  L      FFFC      O   O  D   D  E      G   G  O   O  L      F CCCC   OOO   DDDD   EEEEE   GGGG   OOO   LLLLL  F

স্থানবিহীন অক্ষরের (0-ভিত্তিক) সূচকগুলি হ'ল:

1, 2, 3, 4, 8, 9, 10, 14, 15, 16, 17, 21, 22, 23, 24, 25, 29, 30, 31, 36, 37, 38, 42, 49, 50, 51, 52, 53, 54, 61, 65, 68, 72, 75, 82, 89, 93, 96, 103, 104, 111, 115, 118, 122, 125, 126, 127, 132, 135, 136, 139, 143, 146, 153, 154, 155, 156, 163, 167, 170, 174, 177, 184, 188, 191, 195, 198, 205, 207, 208, 209, 210, 214, 215, 216, 220, 221, 222, 223, 227, 228, 229, 230, 231, 235, 236, 237, 238, 242, 243, 244, 248, 249, 250, 251, 252, 255

আপনি আপনার কোডে এই 97৯ বাইটের কোনওটি ব্যবহার করতে পারবেন না তবে এই বাইটগুলি অবশ্যই এই তালিকাতে তৈরি করতে হবে (বা একইভাবে আউটপুট) এই ক্রমটিতে, আপনি ব্যবহার করছেন কোড পৃষ্ঠাতে 32 তম বাইট দ্বারা প্রতিস্থাপিত অনুপস্থিত বাইটগুলি সহ (অনেকগুলি, অনেকগুলিই কোড-পৃষ্ঠাগুলি একটি স্পেস অক্ষর)।

আপনি যদি প্রিন্টিং-প্রিন্টিং * নতুনলাইনগুলি অন্তর্ভুক্ত করতে পারেন (তবে লাইনগুলিতে কোনও পেছনের জায়গা নেই) যদি এটি সাহায্য করে।

উদাহরণস্বরূপ জেলি কোড পৃষ্ঠা ব্যবহার করে এই আউটপুটটি গ্রহণযোগ্য:

 ¢£¤¥   ®µ½   ÇÐÑ×   ßæçðı   øœþ    $%&   *      12345
6      =   A  D   H  K      R      Y   ]  `      g
h      o   s  v   z  }~¶    ⁴  ⁷⁸  ⁻   Ɓ  Ƒ      ƲȤɓ
ƈ      ɲ   ʂ  ȥ   Ẹ  Ḳ      Ṭ   Ỵ  Ḃ   Ḟ  İ      Ṡ
 ẆẊẎŻ   ẹḥị   ṇọṛṣ   ẉỵẓȧḃ   ḟġḣŀ   ṗṙṡ   ẏż«»‘  ”

... তবে তাই:

 ¢£¤¥   ®µ½   ÇÐÑ×   ßæçðı   øœþ    $%&   *      123456      =   A  D   H  K      R      Y   ]  `      gh      o   s  v   z  }~¶    ⁴  ⁷⁸  ⁻   Ɓ  Ƒ      ƲȤɓƈ      ɲ   ʂ  ȥ   Ẹ  Ḳ      Ṭ   Ỵ  Ḃ   Ḟ  İ      Ṡ ẆẊẎŻ   ẹḥị   ṇọṛṣ   ẉỵẓȧḃ   ḟġḣŀ   ṗṙṡ   ẏż«»‘  ”

... এবং তাই:

[32, 1, 2, 3, 4, 32, 32, 32, 8, 9, 10, 32, 32, 32, 14, 15, 16, 17, 32, 32, 32, 21, 22, 23, 24, 25, 32, 32, 32, 29, 30, 31, 32, 32, 32, 32, 36, 37, 38, 32, 32, 32, 42, 32, 32, 32, 32, 32, 32, 49, 50, 51, 52, 53, 54, 32, 32, 32, 32, 32, 32, 61, 32, 32, 32, 65, 32, 32, 68, 32, 32, 32, 72, 32, 32, 75, 32, 32, 32, 32, 32, 32, 82, 32, 32, 32, 32, 32, 32, 89, 32, 32, 32, 93, 32, 32, 96, 32, 32, 32, 32, 32, 32, 103, 104, 32, 32, 32, 32, 32, 32, 111, 32, 32, 32, 115, 32, 32, 118, 32, 32, 32, 122, 32, 32, 125, 126, 127, 32, 32, 32, 32, 132, 32, 32, 135, 136, 32, 32, 139, 32, 32, 32, 143, 32, 32, 146, 32, 32, 32, 32, 32, 32, 153, 154, 155, 156, 32, 32, 32, 32, 32, 32, 163, 32, 32, 32, 167, 32, 32, 170, 32, 32, 32, 174, 32, 32, 177, 32, 32, 32, 32, 32, 32, 184, 32, 32, 32, 188, 32, 32, 191, 32, 32, 32, 195, 32, 32, 198, 32, 32, 32, 32, 32, 32, 205, 32, 207, 208, 209, 210, 32, 32, 32, 214, 215, 216, 32, 32, 32, 220, 221, 222, 223, 32, 32, 32, 227, 228, 229, 230, 231, 32, 32, 32, 235, 236, 237, 238, 32, 32, 32, 242, 243, 244, 32, 32, 32, 248, 249, 250, 251, 252, 32, 32, 255]

(এটি সর্বশেষ কোনও কোড-পৃষ্ঠা সহ যে কোনও ভাষায় একটি বৈধ তালিকার আউটপুট এবং কোনওটি যুক্তিসঙ্গত তালিকা-বিন্যাসও ব্যবহার করতে পারে))


পাইথন 3 কোডটি এটি উপলভ্য ASCII বাইটগুলি দেখায়।

* যদিও মুদ্রণ নিজেই আসলে এত সুন্দর হতে পারে না!


আপনি আপনার কোডে এই 97 টি বাইটের কোনওটি ব্যবহার করতে পারবেন না তার অর্থ কি আমি এই ASCII অক্ষরগুলি ব্যবহার করতে পারি না: $%&*123456=ADHKRY]``ghosvz}~এবং কোনও নতুনলাইন নেই?
টাইটাস

1
@ টিটাস যদি আপনার কোড-পৃষ্ঠাটি ASCII এর সাথে একত্রিত হয় তবে হ্যাঁ - বা কোনও ট্যাব বা প্রদত্ত পরিসীমাতে অন্য কোনও অক্ষর যেমন- অপ্রিন্টেবল বা প্রসারিত। (এছাড়াও - টিআইওতে লিঙ্কযুক্ত পাইথন লিপিটি দেখুন )
জোনাথন অ্যালান

2
এটি মূল্যবান কিসের জন্য, এখানে একটি কোড যাচাইকারী রয়েছে (কোনও বিশেষ কোড পৃষ্ঠা অনুমান করে)।
আর্নল্ড

আমার এটি প্রায় পিএইচপি-তে আছে ... কেবলমাত্র একটি array_map(function($n){return sprintf("%6b",$n);},...)ছাড়াই $(আমি এটি করতে পারতাম) এবং ছাড়া }(কোনও ধারণা নেই) প্রয়োজন। হ্যাঁ; আমি ডেটা প্যাক করতে চাই!
তিতাস

উত্তর:


7

পাইথন 2 , 321 203 বাইট

print map(lambda(i,x):(x>'0'and i-8-8-8-8)+8+8+8+8,enumerate(bin(int(reduce(lambda x,y:x+repr('abcdefijkl'.find(y)),'cfjdbljcibkeajjejiljjlcbjddlafklebajjlceljdeadficijflealkeklkljadfbbckjebclkf','')))))

এটি অনলাইন চেষ্টা করুন!


ব্যাখ্যা:

ভেতর থেকে বাহিরে:

cfjdbljcibkeajjejiljjlcbjddlafklebajjlceljdeadficijflealkeklkljadfbbckjebclk25731972618407747697792173390589410779249734035626759409848989703511287412985অনুমোদিত অক্ষর সহ এনকোড করা নম্বর । ( 123456অনুমতি নেই)

reduce(lambda x,y:x+repr('abcdefijkl'.find(y)),'cfjdbl..bclkf','') তার দশমিক স্ট্রিংয়ের স্ট্রিংয়ের মানচিত্র:

  • reduce(lambda x,y:x+y,'..','')একই হিসাবে ''.join('..')(কোন oঅনুমতি নেই)
  • repr('..')পরিবর্তে str('..')(কোনও sঅনুমতি নেই)
  • 'abcdefijkl'.find(y) একটি অঙ্কে একটি চর মানচিত্র।

enumerate(bin(int(...)))সংখ্যা স্ট্রিংটিকে বাইনারি স্ট্রিংয়ে রূপান্তর করে এবং গণনা করে। এটি জোড়া দেয়[(0,0), (1,b), (2,1), (3,1), ...]

map(lambda(i,x):(x>'0'and i-8-8-8-8)+8+8+8+8, ... ) গণিত তালিকাটিকে চূড়ান্ত ফলাফলে রূপান্তর করে।

  • map(lambda(i,x):.. , .. )পরিবর্তে [... for(i,x)in ...](কোনও o]অনুমতি নেই)
  • lambda(i,x): ..প্রতিটি (সূচক, মান) জোড়কে সূচক বা রূপান্তর করে 32
  • (x>'0'and i-8-8-8-8)+8+8+8+8 এটার মতই:
    • x>'0'and i or 8+8+8+8, ( oঅনুমতি নেই)
    • [8+8+8+8,i][x>'0']বা [8<<9-7,i][x>'0'], ( ]অনুমতি নেই)
  • 8+8+8+8= 32( 23অনুমোদিত নয়)

এর অর্থ হল যে প্রোগ্রামটি মূলত:

print[[32,i][x>'0']for i,x in enumerate(bin(25731972618407747697792173390589410779249734035626759409848989703511287412985))]

কিছু দুর্দান্ত গল্ফিংয়ের কাজ: ডি
জোনাথন অ্যালান

7

সি (জিসিসি) , 318 বাইট

main(_){--_<88+80+88?printf((int[:>){77707-989908070??>,((int[:>){0xE8E8C79E^0xB0B0080,0xC07E0870^0xE0000C00,0xCC08099C^0xEE0C008E,0xE8888989^0xCC00808,0x9E088990^0x800C0000,0x990C8888^0x080ECC00,0xF9C7a088^0x080000C0,0x9F8C78F8^0x900000??>[_>>(0xC^0x9):>>>(_<<9+9+9>>9+9+9))<<(70^89)>>(70^89)?_:' '),main(_+9-7):0;??>

এটি অনলাইন চেষ্টা করুন!

এই এক ভ্রমণ কিছুটা ...

1. তালিকাটি সংকুচিত করা

কোনওরকম আমাদের কোনও প্রদত্ত পূর্ণসংখ্যা বিশেষ কোড পয়েন্টগুলির মধ্যে একটি কিনা তা খতিয়ে দেখতে হবে। যে কোনও 'নগ্ন' তালিকাটি অনেক দীর্ঘ হবে, সুতরাং আমরা একটি চেক তালিকা ব্যবহার করি। এই তালিকার কোড পয়েন্টগুলিতে একটি শূন্য নয় এমন মান রয়েছে যা 'সীমাবদ্ধ' এবং যা নেই তাদের শূন্য মান।

দুর্ভাগ্যক্রমে এটি এখনও তালিকা পেতে 512 বাইট লাগে (এটি দেখতে দেখতে 0,0,7,7,0,7,0,...)। এটি একটি বিটমাস্ক দিয়ে সংক্ষিপ্ত করা যেতে পারে।

বিটমাস্কটি ব্যবহার করতে আমরা প্রতিটি বাইটকে দুটি টুকরো করে ফেলব। প্রথম 3 বিট অ্যারে থেকে একটি মাস্ক বাছাই করবে যখন শেষ 5 টি অ্যারেতে কিছুটা বাছাই করবে। আমরা আরে আর সঙ্কোচ করতে পারি না কারণ ডিফল্টরূপে ব্যবহৃত 32-বিট ইন্টিজারগুলি 2 ^ 5 = 32 বিটের বেশি সমর্থন করে না।

আমি লিখেছি একটি রেফারেন্স বাস্তবায়ন ব্যবহার করে:

int main() {
    int i;
    int vals[] = {1, 2, 3, 4, 8, 9, 10, 14, 15, 16, 17, 21, 22, 23, 24, 25, 29, 30, 31, 36, 37, 38, 42, 49, 50, 51, 52, 53, 54, 61, 65, 68, 72, 75, 82, 89, 93, 96, 103, 104, 111, 115, 118, 122, 125, 126, 127, 132, 135, 136, 139, 143, 146, 153, 154, 155, 156, 163, 167, 170, 174, 177, 184, 188, 191, 195, 198, 205, 207, 208, 209, 210, 214, 215, 216, 220, 221, 222, 223, 227, 228, 229, 230, 231, 235, 236, 237, 238, 242, 243, 244, 248, 249, 250, 251, 252, 255, 0};

    for (i = 0; i <= 0xFF; ++i) {
        int j,f;
        f = 0;
        for (j = 0; vals[j]; ++j)
            if (vals[j] == i)
                f = 1;
        if (f)
            printf("1");
        else
            printf("0");

        if (i%32 == 31)
            printf("\n");
    }

    return 0;
}

কমান্ডটি ব্যবহার করে আমি এই নতুন অ্যারের জন্য উপযুক্ত মান উত্পন্ন করতে সক্ষম হয়েছি echo "obase=16;ibase=2;$(./a.out | rev)" | bc। এটি উপরের প্রোগ্রামের আউটপুটটিকে ( ./a.out) প্রোগ্রামে পাস করে rev, যা প্রতিটি লাইনে বিপরীত হয়। এটি বিসি-তে একটি শিরোনাম সহ প্রিন্ট করে যা আউটপুট বেস 16 এবং ইনপুট বেস 2 তে সেট করে Thus

ফলাফলের অ্যারেটি এই 'বিটা' সমাধানে দেখা যায়:

f(){
    int x;
    int arr[] = {0xE3E3C71E, 0x207E0470, 0x22040912, 0xE4488181, 0x1E048990, 0x91024488, 0xF1C7A048, 0x9F1C78F8};
    for (x=0; x<=0xFF; ++x) {
        int mask = arr[x >> 5];
        int bit = mask >> (x & 0x1F);

        if (bit & 1)
            printf("%c", x);
        else
            printf(" ");
    }
}

2. প্রতিবন্ধকতা সঙ্গে ডিল

উপরোক্ত কোডটিতে অনেকগুলি প্রতিবন্ধকতা থাকা দরকার। এখানে আমি তাদের প্রতিটি 1-বাই -1 দিয়ে যাচ্ছি।

  1. কোনও অ্যাসাইনমেন্ট নেই

এটি অন্যান্য ভাষাগুলির দ্বারাও অনুভূত হয়, সি তে অ্যাসাইনমেন্ট ছাড়াই ভেরিয়েবলগুলিতে কোনও গ্যারান্টিযুক্ত মান পাওয়া খুব কঠিন। আমাদের পক্ষে সবচেয়ে সহজ উপায় হ'ল সম্পূর্ণ ফাংশন হিসাবে আমাদের ফাংশনটি লেখা। প্রথম আর্গুমেন্টটি কোন আর্গুমেন্ট না দিয়ে ডাকা হলে এর mainমান argc1 হবে।

  1. লুপিং নেই

সি শুধুমাত্র লুপিং নির্মান হয় for, whileএবং gotoযা সব সীমাবদ্ধ অক্ষর থাকে। এটি পুনরাবৃত্তি ব্যবহার করে আমাদের ছেড়ে যায়। মূল ফাংশনটি 1 এ শুরু হবে এবং আর্গুমেন্ট> 256 না হওয়া পর্যন্ত পুনরাবৃত্তি হবে, ইতিমধ্যে 0-ইনডেক্সড মানটি ব্যবহার করার জন্য এটি অভ্যন্তরীণভাবে আর্গুমেন্টটিকে হ্রাস করবে।

  1. হেক্স মান

উপরের অ্যারের মানগুলি হেক্সাডেসিমাল, এমনকি দশমিক হিসাবে রূপান্তরিত হওয়ার পরেও এগুলিতে কিছু সীমাবদ্ধ চিহ্ন রয়েছে, উল্লেখযোগ্যভাবে 123456 (এডি লো-কেসড হতে পারে)। এটির চারপাশে কাজ করার জন্য প্রতিটি ধ্রুবককে অন্যরকমের সাথে XORed করা হয় যাতে সীমাবদ্ধ অক্ষরগুলি মুছে ফেলা হয়। 1 9 ^ B হয়, 2 C C E হয়, 3 হয়ে যায় B ^ 8, 4 হয়ে 8 ^ C, 5 হয়ে যায় 9 ^ C, এবং 6 হয়ে যায় 9 ^ F (এটি করার আরও উপায় আছে, আমি এই উপায়টি বেছে নিয়েছি) ।

  1. মুদ্রণ

বিধিনিষেধগুলি আমাদের মুদ্রণের অনেকগুলি কাজ ফেলে রাখে না। putcharএবং putsউভয়ই নিষিদ্ধ, রেখে চলেছে printf। দুর্ভাগ্যক্রমে আমাদের printfএকটি ফর্ম্যাট স্ট্রিং পাঠাতে হবে, আদর্শভাবে "% সি"। এই জাতীয় সমস্ত স্ট্রিংগুলিতে এমন উদ্বেগজনক শতাংশের চিহ্ন রয়েছে যা আমরা মুছে ফেলতে চাই। ভাগ্যক্রমে আমরা একটি সামান্য এন্ডিয়ান মেশিন ধরে নিই (কারণ স্পষ্টতই এটি টিআইও ব্যবহার করে, এবং এটি বেশ সাধারণ)। পূর্ণসংখ্যাটি তৈরি করে যার মেমরির বাইটগুলি 0x25 (%), 0x63 (সি), 0x00 (\ 0), যে কোনও কিছু (কোনও ব্যাপার নয়, এটি নাল টার্মিনেটরের পরে) আমরা কেবল তার ঠিকানাটি পাস printfকরতে পারি এবং এটি এটি ধরে নেবে একটি স্ট্রিং। এই জাতীয় একটি নম্বর যা -989830363 (0xC5006325) কাজ করে। 77707-989908070 হিসাবে বিধিনিষেধের আওতায় এটি তৈরি করা সহজ।

এখনও সমস্যা আছে যে আমরা কোনও মান উল্লেখ করতে পারি না (কারণ আমরা সেগুলি নির্ধারণ করতে পারি না এবং আমরা & ব্যবহার করতে পারি না), তাই আমাদের একটি অ্যারে আক্ষরিক (int []) {... use ব্যবহার করতে হবে} আমরা এটিকে উপরের বিটমাস্ক অ্যারের জন্যও ব্যবহার করি।

  1. বন্ধনী বন্ধনী

আমাদের অ্যারে বা ফাংশনগুলি বন্ধ করতে আমরা ']' বা 'use' ব্যবহার করতে পারি না। ভাগ্যক্রমে সিতে কাজ করে এমন ডিগ্রাফ এবং ট্রিগ্রাফ রয়েছে। :>হয়ে যাবে ], ??>হয়ে যাবে }। এটি -trigraphsস্যুইচটি নিতে জিসিসি প্রয়োজন , কারণ এটি ডিফল্টরূপে ট্রিগারগুলি উপেক্ষা করে (মান লঙ্ঘন করে)।

  1. বিটওয়াইজ অপারেশন

আমরা &আমাদের সূচি থেকে বিটকে মুখোশ ব্যবহার করতে পারি না , না আমরা %সেখানে পুরানো পদ্ধতিতে ব্যবহার করতে পারি । সুতরাং আমরা বাস্তবায়নের নির্দিষ্ট আচরণের উপর নির্ভর করি। বিশেষত আমরা আমাদের 32-বিট পূর্ণসংখ্যার বিটগুলি হারাতে বাম দিকে অনেকদূর স্থানান্তরিত করি, তারপরে ডানদিকে ফিরিয়ে আনছি। উদাহরণস্বরূপ, আমাদের সংখ্যার শেষ 5 বিট পেতে আমরা প্রথমে এটি 27 টি বিট ( abcde00000...শিফট) বামে স্থানান্তরিত করে তারপরে 27 বিট (বামে ) দিয়ে ডানদিকে ফিরিয়ে আনুন ...00000abcde

  1. বিবিধ মান

কোড জুড়ে আমাদের আরও কয়েকটি শাব্দিক মান প্রয়োজন - এগুলি আরনাউল্ডের জেএস উত্তর থেকে নেওয়া হয়েছে, আরও 27 (উপরের কারণে) আমার হিসাবে যুক্ত হয়েছে 9+9+9

3. এটি একসাথে রাখা

এই সমস্ত পরিবর্তনের সাথে একত্রে উত্সের বর্ণনা এখানে দেওয়া আছে।

main(_){                // This is our main entry point
--_<88+80+88            // This subtracts 1 from the argument (_) and checks if it is less than 256
    ?                   // If it is less than 256 we 'continue'
printf(                 // first we call printf with...
    (int[:>){           // An integer array that will be interpreted as a string
    77707-989908070     // With the value we determined above, to represent "%c\0\xC5"
    ??>,                // This is a trigraph for }, just as the :> above is a digraph for ]
    ((int[:>){          // We immediately create another integer array
0xE8E8C79E^0xB0B0080,   // Each row is the bit-mask for 32 characters
0xC07E0870^0xE0000C00,
0xCC08099C^0xEE0C008E,
0xE8888989^0xCC00808,
0x9E088990^0x800C0000,
0x990C8888^0x080ECC00,
0xF9C7a088^0x080000C0,
0x9F8C78F8^0x900000??>
[_>>(0xC^0x9):>         // This is {arr}[_>>5] just in a roundabout way
>>(_<<9+9+9>>9+9+9))    // Similarly this is (...)>>(_&0x1F)
<<(70^89)>>(70^89)      // This is <<31>>31 or &1, to check the last bit
?_:' ')                 // If its 1, we print the character, otherwise we print a space
,main(_+9-7):0;         // We recurse, the :0 is the other branch of the if, it terminates execution
??>

দারূন কাজ! খুব সুন্দর ব্যাখ্যা। (আমি ১০০% নই তবে বিশ্বাস করি শিরোনামটি "সি (জিসিসি) -ট্রিগ্রাফগুলি" পড়া উচিত)
জোনাথন অ্যালান

1
এটা বিতর্ক আপ। কোডটি জিসিসি নির্দিষ্ট নয়, এটি পুরোপুরি মান সাপেক্ষ কোড নয়, তবে আমার মেশিনে সিসি এটি কোনও যুক্তি ছাড়াই সূক্ষ্মভাবে সংকলন করে। টিআইও-তে কেবল কোনও অন্তর্নির্মিত সংকলক নেই যা ডিফল্টরূপে মানকে মানায়, যদি সেখানে (বা সিসিটির কোনও পুরানো বিল্ড) থাকে তবে ট্রিগারগুলি কেবল সতর্কতা তৈরি করে gene
লাম্বদাবেটা

জি ++ ?:এক্সটেনশন ব্যবহার করে , বিটওয়াইস শিফট মডুলো 32, 273 বাইট ব্যবহার করুন
ব্যবহারকারী 202729

যে চালাক। আমি যদিও এটি ঠিক তেমন রাখছি, কারণ এই সংস্করণটি -trigraphsকয়েকটি সি সংকলকগুলির বিকল্পের প্রয়োজন নেই , যখন ?:জিসিই প্রয়োজন যা প্রয়োজন -trigraphs
লাম্বদাবেটা

6

ব্রেনফাক , 635 বাইট

++++++++++++++++++++++++++++++++.>+.+.+.+.<...>++++.+.+.<...>++++.+.+.+.<...>++++.+.+.+.+.<...>++++.+.+.+....++++.+.+.<...>++++.<......>+++++++.+.+.+.+.+.<......>+++++++.<...>++++.<..>+++.<...>++++.<..>+++.<......>+++++++.<......>+++++++.<...>++++.<..>+++.<......>+++++++.+.<......>+++++++.<...>++++.<..>+++.<...>++++.<..>+++.+.+.<....>+++++.<..>+++.+.<..>+++.<...>++++.<..>+++.<......>+++++++.+.+.+.<......>+++++++.<...>++++.<..>+++.<...>++++.<..>+++.<......>+++++++.<...>++++.<..>+++.<...>++++.<..>+++.<......>+++++++.<.>++.+.+.+.<...>++++.+.+.<...>++++.+.+.+.<...>++++.+.+.+.+.<...>++++.+.+.+.<...>++++.+.+.<...>++++.+.+.+.+.<..>>-.

এটি অনলাইন চেষ্টা করুন!

জাভাস্ক্রিপ্ট দ্বারা শেষ পর্যন্ত মারধরের প্রতিক্রিয়ায়, আমি এর বাইরে যা পারি তা আমি গল্ফ করেছি:

1 বাইটটি 0 কোষে 32 এ থাকা এবং 1 সেল বাড়ানো দ্বারা বাঁচানো হয়েছিল (অরজনজহানসেন যখন আমি ব্যবহার করতে পারছিলাম না তখনই তাড়াতাড়ি স্থির করার কারণে আমার প্রথম দিকে অন্যদিকে এটিই ছিল কেবল কারণ ])

1 বাইট (প্রথমদিকে 0 এ) একটি তৃতীয় সেল decrementing দ্বারা সংরক্ষিত জেনারেট করতে 255=-1

৩ এবং ৩ 36 অক্ষরের মধ্যে স্পেস মুদ্রণ করে 2 বাইট সংরক্ষণ করা হয়েছে যা ব্যবহার না করে <>কেবল 31 থেকে 33 এ বৃদ্ধি পেয়ে সেল 0 থেকে মুদ্রণ করতে 32 এ থামে।

ব্রেনফাক , 9৩৯ বাইট

>++++++++++++++++++++++++++++++++.<+.+.+.+.>...<++++.+.+.>...<++++.+.+.+.>...<++++.+.+.+.+.>...<++++.+.+.>....<+++++.+.+.>...<++++.>......<+++++++.+.+.+.+.+.>......<+++++++.>...<++++.>..<+++.>...<++++.>..<+++.>......<+++++++.>......<+++++++.>...<++++.>..<+++.>......<+++++++.+.>......<+++++++.>...<++++.>..<+++.>...<++++.>..<+++.+.+.>....<+++++.>..<+++.+.>..<+++.>...<++++.>..<+++.>......<+++++++.+.+.+.>......<+++++++.>...<++++.>..<+++.>...<++++.>..<+++.>......<+++++++.>...<++++.>..<+++.>...<++++.>..<+++.>......<+++++++.>.<++.+.+.+.>...<++++.+.+.>...<++++.+.+.+.>...<++++.+.+.+.+.>...<++++.+.+.+.>...<++++.+.+.>...<++++.+.+.+.+.>..<+++.

এটি অনলাইন চেষ্টা করুন!

প্রথমে আমরা 32 নম্বরটি তৈরি করি Then তারপরে আমরা কেবল একটি ঘর বাড়িয়ে সেই প্রিন্টিংটি সেই কক্ষ এবং 32 টির মধ্যে থাকা একটিটির মধ্যে স্যুইচিংয়ের মধ্য দিয়ে যেতে পারি S অবিচ্ছিন্নভাবে বর্ধমান সংখ্যাটি ব্রেইনফাক বেশ ভাল করে।

ব্রেইনফাকের সাহায্যে জাভাস্ক্রিপ্টকে পরাজিত করা খুব ভাল, এটি প্রায়শই ঘটে না!


দুঃখিত, তবে ]অনুমোদিত অক্ষর নয়। যদিও আপনার এখনও এটি ঠিক করতে সক্ষম হবে এবং জাভাস্ক্রিপ্টটি বীট করবে। :)
janrjan জোহানসেন

@ JanrjanJohansen স্থির
স্তরের নদী রিভার

দুঃখিত, আপনি জাভাস্ক্রিপ্ট হারিয়েছেন।
ব্যবহারকারী 202729

@ ব্যবহারকারী 202729 বেশ ভাল! তবুও, আমি জাভাস্ক্রিপ্ট 3 দিনের জন্য বীট ছিল। যেহেতু আমি লুপগুলি ব্যবহার করতে পারি না কারণ ]এটি অনুমোদিত নয়, আমি মনে করি আমার বিএফ উত্তর সম্ভবত সম্ভবত অনুকূল।
স্তর নদী সেন্ট

5

জাভাস্ক্রিপ্ট (স্পাইডারমনকি) , 1918 1598 1487 1431 বাইট

@ ব্যবহারকারী 202729- এর জন্য 56 বাইট সংরক্ষণ করা হয়েছে

print(8<<98,7/7,9-7,7>>97,8>>97,8<<98,8<<98,8<<98,8,9,0xa,8<<98,8<<98,8<<98,0xe,0xf,7+9,8+9,8<<98,8<<98,8<<98,7+0xe,7+0xf,8+0xf,9+0xf,78^87,8<<98,8<<98,8<<98,77^80,70^88,70^89,8<<98,8<<98,8<<98,8<<98,9<<98,70^99,77>>97,8<<98,8<<98,8<<98,98-070,8<<98,8<<98,8<<98,8<<98,8<<98,8<<98,9^070,80^98,80^99,87^99,87^98,9^077,8<<98,8<<98,8<<98,8<<98,8<<98,8<<98,70-9,8<<98,8<<98,8<<98,7^70,8<<98,8<<98,9^77,8<<98,8<<98,8<<98,7^79,8<<98,8<<98,70^0xd,((8<<98)+' ').repeat(8^0xe)+(8^90),((8<<98)+' ').repeat(8^0xe)+89,8<<98,8<<98,8<<98,7^90,8<<98,8<<98,7+89,((8<<98)+' ').repeat(8^0xe)+(7|97),7+97,((8<<98)+' ').repeat(8^0xe)+(77|98),8<<98,8<<98,8<<98,80|99,8<<98,8<<98,8^0x7e,8<<98,8<<98,8<<98,0x7a,8<<98,8<<98,0x7d,0x7e,0x7f,8<<98,8<<98,8<<98,8<<98,7+0x7d,8<<98,8<<98,0x87,0x88,8<<98,8<<98,0x8b,8<<98,8<<98,8<<98,0x8f,8<<98,8<<98,7+0x8b,((8<<98)+' ').repeat(8^0xe)+0x99,0x9a,0x9b,0x9c,((8<<98)+' ').repeat(8^0xe)+(7+0x9c),8<<98,8<<98,8<<98,0xa7,8<<98,8<<98,0xaa,8<<98,8<<98,8<<98,0xae,8<<98,8<<98,78+99,((8<<98)+' ').repeat(8^0xe)+0xb8,8<<98,8<<98,8<<98,0xbc,8<<98,8<<98,0xbf,8<<98,8<<98,8<<98,97+98,8<<98,8<<98,99+99,((8<<98)+' ').repeat(8^0xe)+0xcd,8<<98,0xcf,0xd0,7+0xca,7+0xcb,8<<98,8<<98,8<<98,7+0xcf,0xd7,0xd8,8<<98,8<<98,8<<98,0xdc,0xdd,0xde,0xdf,8<<98,8<<98,8<<98,7+0xdc,7+0xdd,7+0xde,7+0xdf,0xe7,8<<98,8<<98,8<<98,0xeb,0xec,0xed,0xee,8<<98,8<<98,8<<98,7+0xeb,7+0xec,7+0xed,8<<98,8<<98,8<<98,0xf8,0xf9,0xfa,0xfb,0xfc,8<<98,8<<98,0xff)

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

=অনুমোদিত নয় এমন বিষয়টি জেএসের শো-কিলার। আমরা কোনও ভেরিয়েবল অ্যাসাইনমেন্ট করতে পারি না এবং আমরা কোনও তীর ফাংশনও ব্যবহার করতে পারি না।

0789+-/|^<<>>

  1 = 7/7     |   50 = 80^98   |  136 = 0x88    |  216 = 0xd8
  2 = 9-7     |   51 = 80^99   |  139 = 0x8b    |  220 = 0xdc
  3 = 7>>97   |   52 = 87^99   |  143 = 0x8f    |  221 = 0xdd
  4 = 8>>97   |   53 = 87^98   |  146 = 7+0x8b  |  222 = 0xde
  8 = 8       |   54 = 9^077   |  153 = 0x99    |  223 = 0xdf
  9 = 9       |   61 = 70-9    |  154 = 0x9a    |  227 = 7+0xdc
 10 = 0xa     |   65 = 7^70    |  155 = 0x9b    |  228 = 7+0xdd
 14 = 0xe     |   68 = 9^77    |  156 = 0x9c    |  229 = 7+0xde
 15 = 0xf     |   72 = 7^79    |  163 = 7+0x9c  |  230 = 7+0xdf
 16 = 7+9     |   75 = 70^0xd  |  167 = 0xa7    |  231 = 0xe7
 17 = 8+9     |   82 = 8^90    |  170 = 0xaa    |  235 = 0xeb
 21 = 7+0xe   |   89 = 89      |  174 = 0xae    |  236 = 0xec
 22 = 7+0xf   |   93 = 7^90    |  177 = 78+99   |  237 = 0xed
 23 = 8+0xf   |   96 = 7+89    |  184 = 0xb8    |  238 = 0xee
 24 = 9+0xf   |  103 = 7|97    |  188 = 0xbc    |  242 = 7+0xeb
 25 = 78^87   |  104 = 7+97    |  191 = 0xbf    |  243 = 7+0xec
 29 = 77^80   |  111 = 77|98   |  195 = 97+98   |  244 = 7+0xed
 30 = 70^88   |  115 = 80|99   |  198 = 99+99   |  248 = 0xf8
 31 = 70^89   |  118 = 8^0x7e  |  205 = 0xcd    |  249 = 0xf9
 32 = 8<<98   |  122 = 0x7a    |  207 = 0xcf    |  250 = 0xfa
 36 = 9<<98   |  125 = 0x7d    |  208 = 0xd0    |  251 = 0xfb
 37 = 70^99   |  126 = 0x7e    |  209 = 7+0xca  |  252 = 0xfc
 38 = 77>>97  |  127 = 0x7f    |  210 = 7+0xcb  |  255 = 0xff
 42 = 98-070  |  132 = 7+0x7d  |  214 = 7+0xcf  |
 49 = 9^070   |  135 = 0x87    |  215 = 0xd7    |

32

যাক shiftCount কিন্তু সব আউট মাস্কিং ফল অন্তত উল্লেখযোগ্য 5 বিট হতে rnum , যে কম্পিউট rnum & 0x1F।

8<<988<<232


32যেমন 8<<9-7প্রতিটি জন্য একটি বাইট সংরক্ষণ 32
টিফিল্ড

1
32 = 8<<98982(mod32)

3
"শো-কিলার" বা "ফান-মেকার"?
জোনাথন অ্যালান

2
@ জোনাথন অ্যালান ;-) প্রথমটিরটি আগেরটির থেকে বেরিয়ে আসে!
আর্নাউল্ড

দুঃখিত যদি আমি বোকা হয়ে থাকি তবে আপনি কেন স্পাইডারমনকি একটি পুরাতন সংস্করণে লিঙ্ক করছেন?
সলোমন উকো

4

হাস্কেল, 623 617 614 594 360 342 বাইট

সম্পাদনা করুন: -234 বাইটস স্ট্রিং হিসাবে একটি প্যাটার্ন এনকোডিং সন্ধান করে @ লিনকে ধন্যবাদ জানায়। -18 বাইটস @ অর্জান জোহানসেনকে ধন্যবাদ।

map(\i->cycle(8+8+8+8:filter(\_->" XXXX   XXX   XXXX   XXXXX   XXX    XXX   X      XXXXXX      X   X  X   X  X      X      X   X  X      XX      X   X  X   X  XXX    X  XX  X   X  X      XXXX      X   X  X   X  X      X   X  X   X  X      X XXXX   XXX   XXXX   XXXXX   XXXX   XXX   XXXXX  X"!!i>' ')(pure i))!!9)(take(0xf8+8)(iterate(9-8+)0))

এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

map(\i->    )                   -- map the lambda over the
        (take(0xf8+8)           -- first 256 elements of
           (iterate(9-8+)0))    -- the list [0,1,2,....]

                                -- the lambda is:

    cycle                       -- make an infinite list by repeating the list
      8+8+8+8:                  -- wih element 32 followed by
                  pure i        -- the singleton list with 'i'
       filter                   -- but keep 'i' only if
          \_->" XXXX..."!!i>' ' -- the pattern has an 'X' at index 'i', else
                                -- remove it to make an empty list
                                -- i.e. the cycled list is, if the pattern is
                                -- a space: [32,32,32,32,32,32,32,32,32,32,...]
                                -- an 'X':  [32, i,32, i,32, i,32, i,32, i,...]
                                --                                       ^
                                --                        9th element ---/ 
                      !!9       -- pick the 9th element which is the result
                                -- of the lambda

3
আপনি সূচী (id:pure(\_->8+8+8+8))করে until((||" XXXX XXX XXXX XXXXX XXX XXX X XXXXXX X X X X X X X X X XX X X X X XXX X XX X X X XXXX X X X X X X X X X X X XXXX XXX XXXX XXXXX XXXX XXX XXXXX X"!!i<'X').(<1))pred 1 এবং একগুচ্ছ বাইট সংরক্ষণ করতে পারেন ।
লিন

1
342 বাইট সঙ্গে filterপরিবর্তে untilশাখা (এবং cycleএকটি অতিরিক্ত এড়াতে ++pure(...))।
janrjan জোহানসেন

3

ব্রেন-ফ্লাক- আর, 4190 4188 বাইট tes

(()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())())())())())())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())())())()<((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))>()()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())())())())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())()<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()())()<(()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())>())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())()<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()())())())())())()<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()())

এটি অনলাইন চেষ্টা করুন!

ব্রেন-ফ্ল্যাকের জন্য এইটি কিছুটা কঠিন কারণ আমরা ব্যবহার করতে পারি না ]বা করতে পারি না }। অর্থ একমাত্র দরকারী চরিত্রগুলি <>()

এখানে একটি হাস্কেল প্রোগ্রাম যা আমাকে এটি লিখতে সহায়তা করেছে

এটি কেবল ফাঁকা জায়গা ছেড়ে যাওয়া এবং পৃথকভাবে সেগুলি ঠেলে দেওয়ার বিষয়টি গণনা করে।


এটি সম্ভবত সর্বোত্তম?
ব্যবহারকারী 202729

@ user202729 আমার সন্দেহ হয় না। যদিও এটি হতে পারে। এখানে টন উইগল রুম নেই তবে আমি প্রমাণ করতে সক্ষম হই না যে এটি সর্বোত্তম। যদিও আমাদের কাছে {}কোনও কম্পিউটার অনুসন্ধান নেই সীমাবদ্ধ সময়ে সর্বোত্তমভাবে খুঁজে পেতে পারে।
অ্যাডহক গার্ফ হান্টার

আমি এমন একটি প্রোগ্রাম লিখেছিলাম যা সর্বোত্তম সমাধান উৎপন্ন করে, তবে আমি যা আশা করি তার থেকে এটি কিছুটা ধীর হয়। এখনও চালানোর পক্ষে যথেষ্ট দ্রুত, যদিও।
ব্যবহারকারী 202729

@ user202729 ভাল এটি অনুকূল ছিল না। আমি একটি সংক্ষিপ্ত একটি পেয়েছিলাম।
অ্যাডহক গার্ফ হান্টার

3

জাভাস্ক্রিপ্ট (স্পাইডারমনকি) , 1001 919 789 441 বাইট

print(/u/.exec().map.call('0777700077700077770007777700077700007770007000000777777000000700070070007007000000700000070007007000000770000007000700700070077700007007700700070070000007777000000700070070007007000000700070070007007000000707777000777000777700077777000777700077700077777007',''.repeat.bind(Number)).map(/u/.exec().find.bind(/()/.exec().fill(Number.bind(0,88-070)).fill(/u/.exec().fill,!0),''.indexOf)).map(Map.call.bind(Map.call)))

এটি অনলাইন চেষ্টা করুন!

অবশেষে বিএফকে মারধর !!!

সাধারন ধারনা

লম্বা স্ট্রিংয়ের প্রতিটি অক্ষরকে তার সূচকে বা 32 এ রূপান্তর করুন, মানের উপর নির্ভর করে।

Array.prototype.map? অ্যারে পেতে কিভাবে

বস্তু বৈশিষ্ট্য অ্যাক্সেসের মাধ্যমে কোন বস্তুগুলি অ্যাক্সেসযোগ্য তা দেখতে ব্রুট ফোর্স (কারণ ]এটি অনুমোদিত নয়, সুতরাং কেবল পরিচয়কারীর সাথে মিলে যাওয়া নামের বৈশিষ্ট্যগুলি অ্যাক্সেসযোগ্য)।

RegExp.prototype.execম্যাচ থাকলে অ্যারের মতো বস্তুটি ফেরত দেয়। যখন কোনও যুক্তি সরবরাহ করা হয় না, তখন যুক্তিটি ডিফল্ট হয় undefined, সুতরাং /u/.exec()ম্যাচ করে একটি অ্যারে ফেরত দেয়।

2 টি পৃথক অক্ষরের উপর 2 নির্বিচারে স্বতন্ত্র মান পান

আমরা চাই (x,y)=>x=='0'?32:y, কিন্তু আমরা ব্যবহার করতে পারি না =

পরিবর্তে, আমরা যাচ্ছি

new Array(a)
    .map(x=>x=='0'?()=>32:function()this)
    .map((x,y,z)=>x.call(y,z))

আমরা mapকিছু ফাংশনের উপর স্ট্রিং করতে পারি , তবে =>এটি অনুমোদিত নয়, সুতরাং কয়েকটি ফাংশন ব্যবহার করা যেতে পারে। thisএটিতে আবদ্ধ এবং কিছু আবদ্ধ যুক্তি থাকতে পারে (সুতরাং এটির ফর্মটি রয়েছে (x,y,z)=>pre_filled_function.call(pre,filled,args,etc,x,y,z))

ফাংশনগুলির তালিকা ( repeat exec bind create map indexOf replace fill find reduce filter findIndex call bind apply) বিবেচনা করার পরে , আমি সিদ্ধান্ত নিয়েছি যে নিম্নলিখিত ফাংশনগুলি ব্যবহার করা হবে (অন্যান্য সমস্ত সংমিশ্রণের বিবেচনা করার পরে)

  • repeat: সংখ্যা -> বিভিন্ন স্ট্রিং।
  • find: thisArg -> অ্যারে ম্যাচে প্রথম উপাদান।

সাধারণ ধারণাটি হ'ল:

[].map.call('07070707...', (x,y,z)=>[elem1,elem2].find(somefunction,x,y,z)

যেখানে somefunctionবিবেচনায় thisযুক্তি ( x) এবং প্রথম আর্গুমেন্ট ( elem1বা elem2) এবং বিনিময়ে তা সাথে মেলে।

শেষ তীর ফাংশনটি আবার লেখা হয় [].find.bind([elem1,elem2],somefunction)

আক্ষরিক অর্থে

আমরা একটি অ্যারে পেতে regex exec ব্যবহার করতে পারি এবং fillএটি বিভিন্ন মান সহ। উদাহরণস্বরূপ /()/.exec()একটি দৈর্ঘ্য -2 অ্যারে প্রদান করে, তবে আমরা এটি আমাদের প্রয়োজন হিসাবে পূরণ করতে পারি।

আমাদের কোনটি somefunctionদরকার?

আমাদের এমন একটি দরকার যা সত্যবাদী / মিথ্যা মান দেয় this(যেটি আমরা ফিরে যাব 2 টির মধ্যে 1 ফাংশন) এবং প্রথম যুক্তি (অবশ্যই একটি স্ট্রিং বা অ্যারের হতে হবে) উপর নির্ভর করে ।

তার জন্য, আমি ব্যবহার করেছি indexOf- এটি মিথ্যা মান প্রদান করে যদি প্রথম যুক্তি যুক্তির উপসর্গ হয় this

ফাংশন আক্ষরিক প্রতিনিধিত্ব করুন


1
ব্যাখ্যার শেষের দিকে হোঁচট খেয়েছে এবং একটি শাখা ঝুলিয়ে দিয়ে যাচ্ছে
janrjan Johansen

2

টিআই-বেসিক (83 সিরিজ), 578 বাইট

8XFact8-ΔTbl
seq(X and XX≤8+8 or 8≤X and X≤Xmax or 7+7≤X and X<9+9 or 7+7+7≤X and X<8π or 9π<X and X<πXmax or 9 nCr 7≤X and X+X<77 or X=7²-7 or 7²≤X and X≤7*9-9 or X=70-9 or X=8²+ΔTbl or X=78-Xmax or X=9*8 or X=89-7-7 or X=89-7 or X=89 or X=900-807 or X=88+8 or 809-707<X and X≤97+77-70 or 9X=999 or 8X=990-70 or X=888-770 or X=899-777 or 8*7+77-8≤X and X+X<Ans or 7²X/77=77+7 or 999+77<8X and 7X<970-9-7 or 8²X=8888+8 or X+X=99+99+88 or 7X=9099-8077 or 9+8≤X/9 and X<997-770-70 or X=99+8² or X=87+80 or X=80+90 or X=87+87 or X=87+90 or X=87+97 or X=98+90 or X=999-808 or X=97+98 or X=99+99 or X=99+99+7 or 9²8<πX and X+X+X≤70*9 or 70π-π-π<Xand X+X+X≤9²8 or 70π<X and X<70π+π or 997-770≤X and X+X+X≤99*7 or 77+79+79≤X and X+8+9≤Ans or 77π<X and X<Ans-Xmax or 7*8*9-8≤X+X and X+X≤7*8*9 or X=Ans,X,0,Ans
8XFact+Ansseq(X,X,⁻8XFact,70π+π

টিআই-বেসিকের নিজস্ব একটি খুব বিশেষ "কোড-পৃষ্ঠা" রয়েছে যেখানে অদ্ভুত নকশার পছন্দ রয়েছে যেমন স্থানের অক্ষরটিকে 0x29 এ স্থানান্তরিত করা যায় যাতে 0x20 randM(কমান্ড হতে পারে ।

টিআই-বেসিককে কীভাবে সঠিক ধরণের অবজেক্ট আউটপুট পেতে হয় তা নির্ধারণ করা মুশকিল। স্ট্রিংগুলি একাধিক কারণে কাজ করবে না: টোকেনটি ব্যবহার না করে কোনও টোকেনকে রেফারেন্স দেওয়ার কোনও উপায় নেই এবং এছাড়াও আমাদের "চরিত্রটি অনুমোদিত নয়। আমরা কেবল একটি তালিকা লিখতে পারি না, কারণ {এবং }এটি নিষিদ্ধ। আমাদের ম্যাট্রিক্সের জন্য [এবং ]অক্ষরগুলির অনুমতি দেওয়া হয়েছে , তবে মেট্রিকগুলি সর্বাধিক 99 টি সারি এবং কলামে অনুমোদিত হওয়ার কারণে 256 ম্যাট্রিক্সের 1 দ্বারা কাজ করা যায় না। আমরা ব্যবহার করতে পারবেন না ভেরিয়েবল দায়িত্ব অর্পণ করা, এবং আমরা তালিকা ভেরিয়েবল এ পেতে পারে না ʟবা L₁মাধ্যমে L₆যাহাই হউক না কেন।

সুতরাং এখানে, আমরা অসমতার সাথে একটি জটিল যৌক্তিক সূত্র লিখে রাখি যা বলে যে একটি চরিত্র যখন আমরা আউটপুট করতে চাই তার মধ্যে একটি হয়। তারপরে আমরা সেই অবস্থান এবং অন্য কোথাও seq(একটি তালিকা তৈরি করতে কমান্ডটি ব্যবহার করি । সেখান থেকে অন্য কমান্ড এবং কিছু পাটিগণিত কাজ শেষ করে।10seq(

এটি ছিল উত্তেজনাপূর্ণ অংশ; বাকিরা ধ্রুবকগুলিকে গল্ফ করছে এবং আমি সম্ভবত এটি যথাসম্ভব করিনি। আমি যে কৌশলগুলি ব্যবহার করি তার মধ্যে একটি হ'ল ডিফল্টরূপে, Xmax10 হয়, XFact4 হয় এবং ΔTbl1 হয়।


যদিও 1 * 256 ম্যাট্রিক্স কাজ করবে না, আপনি কি 3 * 99 ম্যাট্রিক্সের মতো কিছু তৈরি করতে পারেন এবং ম্যাট্রিক্সকে সূচীকরণের জন্য Div / Mod ব্যবহার করতে পারেন?
ব্যবহারকারী 202729

ওহ, আমরা জিনিসগুলি সূচীও করতে পারি না, কারণ (এটি নিষিদ্ধ।
মিশা লাভরভ

শর্তযুক্ত অভিব্যক্তি (যদি তবে অন্য কোনও গ হয়) বা তল বা মোড আছে? সংখ্যার নির্ভুলতা 15 ডলার দশমিক সংখ্যা সঠিক?
ব্যবহারকারী 202729

এই সমস্ত বিদ্যমান। আমরা কেবল ম্যাট্রিক্স এন্ট্রিতে উঠতে [A](I,J)পারি না এবং আমি যা বুঝতে পেরেছি [A](int(I/99),I-99int(I/99))সেগুলি থেকে আপনি ম্যাট্রিক্সের সমস্ত উপাদানগুলি পড়ার মতো কিছু করতে চান [A]- আমরা এটিও করতে পারি না। (যাইহোক, )এটিও নিষিদ্ধ Fort ভাগ্যক্রমে, আমাদের শেষের বন্ধনী বন্ধ করতে হবে না, তবে এটি কীভাবে আমরা অনেকগুলি আদেশ ব্যবহার করতে পারি তা সীমাবদ্ধ করে))
মিশা লাভরভ

আমি বিটমাস্কের মতো একটি অ্যারের এনকোড করতে একটি সংখ্যা ব্যবহার করার বিষয়ে ভাবছি। পাইথনে (123456789 >> এক্স) এবং 1 এর মতো।
ব্যবহারকারী 202729

1

মস্তিষ্ক-ফ্লাক- আর, 3894 বাইট

(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())<((())((()())()))>)))(((((((()()()()()()()())(()()()()()()()()())(()()()()()()()()()())()()()()())))<((((((((()()()()()()()()()()()()()())((((((((((()()()()()()()()()()()()()()())((()()()()()()()()()()()()()()()())()))))<((((((((((((()()()()()()()()()()()()()()()()()()()()())())())())())()()()()()()())))<((((((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()())())())()))))()()()())())())>)))()()()()()()()()()())>))))))()()())())())())())())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())>)))())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())())())<((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))>()()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())())())())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())<((((((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))))))>()()()()()()())<(()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())>()())())())())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())())())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())())())())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())())())())())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())())())())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())())())<(((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()())))>()()()())())())())())<((()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()))>()()())

এটি অনলাইন চেষ্টা করুন!

আমি কোনও আউটপুটের জন্য অনুকূল ব্রেন-ফ্ল্যাক প্রোগ্রাম উত্পন্ন করার জন্য একটি প্রোগ্রাম লিখেছিলাম। ধরুন:

  • <> ব্যবহার করা হয় না
  • আমার প্রোগ্রামটি সঠিক

, তবে এই সমাধানটি সর্বোত্তম।

O(n5)


1

পাইথন 2 , 162 157 বাইট

সতর্কতা : ছাপানো অক্ষরগুলি সামনে!

print map(lambda(i,x):(x>'0'and i-0xe0/7)+0xe0/7,enumerate(bin(reduce(lambda x,y:(x<<0xd-7)-x+y,bytearray('7?QcZ;+BqiQJUS!?B0W![<LBU7X!frQd(SQdB\0')))))

এটি অনলাইন চেষ্টা করুন!

টিফেল্ডের বিদ্যমান উত্তরের ভিত্তিতে , তবে কয়েকটি পরিবর্তন সহ:

এ এটির bytearrayমতোই strএটি পুনরাবৃত্তিযোগ্য, তবে এটি পুনরাবৃত্তি করলে এটি অক্ষর নয়, পূর্ণসংখ্যা দেয়। আমরা এটি বেস-এন আক্ষরিক এনকোড reduce(lambda x,y: x*N+y, my_bytearray)করতে এবং এটি ডিকোড করতে ব্যবহার করতে পারি।

পাইথন 2 ফাইলের ডিফল্টরূপে এনকোডিং নেই, কেবলমাত্র ASCII (0..127) এর অক্ষর ব্যবহার করা যেতে পারে। নাল বাইট, নিউলাইনস, ব্যাকস্ল্যাশ এবং কোটগুলি আরও 1 বাইট নেয়।

এছাড়াও, সমস্ত ঘাঁটি ব্যবহার করা সম্ভব নয়।

এই সীমাবদ্ধতার পরিপ্রেক্ষিতে আমি সংক্ষিপ্ততম উপস্থাপনা খুঁজে বের করার জন্য একটি প্রোগ্রাম লিখেছি n

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.