ব্রেইনফাক - 680
এটি এখানে পরীক্ষা করুন: ideone.com/Wi9ftB
>>>++++[>+++++++++[>+++[<<<<+<+>>>>>-]<<<+<<<+<+>>>>>>-]<-]+<++++++++<+++<---------<++++++++
++++<----<++++++++++<+++[>>>+.>>>.<<<<.>>>>>>[>[<<<<<<--------.-.>>>.<<<<.>+..<.>>>.>-----.<
------------.+++++++++.+++.------------.++++++++.++++>+++++.<<<<.>.+.>>>>->>-]+<<+>-]+<[<<<<
+.>>>.<<<<.>+.<.>>>.>-----.<<.>---.+++.<.>----.++++>+++++.<<<<.>+.>>>>-]<<<<<.>>>.>-----.<<.
>---.+++.<.>----.<<<.>>>+++++++.---.<.>----.++++>+++++.<<<<<.<-]>[>>++++<<-]>>---.[-]<[>+<-]
>>++.>>-----.<+++.<.<.>++.>---.-..<------.<.>>++++.---.<++.>----.<<.>--.>+++++++.---.++++++.
-------.<+++.<.>>++++++.<++++.---.<.>--.>--------.+++.<.>----.<<.>>+++++++++.-----.-.-----.-
-.+.>[>+++<-]>-.<<<---[>>+<<--]>>--.
আমি প্রতিশ্রুতি হিসাবে, এখানে একটি ভাল সংস্করণ। আমার মস্তিষ্কের মনে হচ্ছে .. ওহ তাই নামটি এসেছে।
ব্যাখ্যা: (কারণ এটি কল্পনাশক্তিহীন এবং আমি এটি কীভাবে কাজ করে তা ভুলে যেতে চাই না)
প্রথমত আপনাকে এই চ্যালেঞ্জের জন্য সেরা ডেটা বিন্যাসটি বেছে নিতে হবে। আমি সাথে এসেছি
-4 outmost loop
-3 newline char
-2 space
-1 numbers
1 lowercase #1
2 lowercase #2
3 comma, apostrophe, period
4 condition (outmost loop < 3)
5 inner loop
6 second inner loop
অনেকগুলি শিফট না হলে আমাদের এটিকে সর্বোত্তম হতে হবে (যে ক্ষেত্রে আপনাকে বিন্যাসটি পুনর্বিন্যাস করতে হবে)
এর পরে আমি নিউলাইন, সংখ্যা, দুটি ছোট হাতের অক্ষর এবং কমা জন্য প্রাথমিক মান সেট করতে একটি 4x9x3 লুপ ব্যবহার করেছি। (সমস্ত ছোট এসকি কোড 4x9 = 36 এবং দুটি ছোট হাতের অক্ষর 4x9x3 = 108 পেয়েছে, তারপরে আমি কিছু যুক্ত করেছি এবং তাদের আসল মান পেতে সাবস্ট্রাক্ট করেছি)
প্রিসেটটি শেষ হয়ে গেলে, কোডটি 3 বার চক্রের বহির্মুখী লুপে প্রবেশ করে। আমি সিউডোকোড দ্বারা এটি ব্যাখ্যা।
for 3 to 1 where i = numbers
print '++i, '
while inner_loop != 0 # this is true after the first loop
while second_inner_loop != 0 # and this is true after the second
print '10, 11 o'clock, 12' # prints the difference
condition = 0 # it prevents the printing below
second_inner_loop += 1
inner_loop += 1
while condition != 0
print '++i, ++i o'clock, ++i'
print ' o'clock rock,\n'
এই বিভাগটি করা হয়ে গেলে আমাকে কেবল শেষ লাইনটি প্রিন্ট করতে হবে। তবে আমাদের একটি বড় হাতের ডাব্লু রয়েছে যা অবশ্যই অনেকগুলি অক্ষর ব্যবহার না করেই তৈরি করা উচিত। এই মুহুর্তে আমরা এখানে আছি:
Address Value Pointer
-4 0 <--
-3 10
-2 32
-1 50
1 99
2 111
3 44
সুতরাং আমি [-3] 4 বার [-1] এ রেখেছি এবং 87 (ডাব্লু) পাওয়ার জন্য 3 টি স্তর রেখেছি: >[>>++++<<-]>>---.
তারপরে এটি মুছে ফেলুন [-]
এবং [-2] এই জায়গায় যান [-1] যাতে স্থান ছোট হাতের অক্ষরের কাছাকাছি থাকবে।<[>+<-]
এর পরে এটি কেবল অক্ষরগুলি মুদ্রণ করে। ছোট হাতের সংখ্যা # 1 নিম্নতর অংশের জন্য 97-107 এবং ছোট # 2 উপরের অঞ্চলের জন্য।