প্রমাণিত সর্বোত্তম!
((([()][()][()])))
এটি অনলাইন চেষ্টা করুন!
ব্যাখ্যা
মস্তিষ্ক-ফ্লাক, ব্রেন-ফ্লু, মিনিফ্লাক এবং ফাক λ
([()][()][()]) Push -3
( ) Copy
( ) Copy
এই মুদ্রণ:
-3
-3
-3
(এখানে একটি পিছনের নতুন লাইন রয়েছে)
মস্তিষ্ক-ফ্লাক ক্লাসিক
ব্রেন-ফ্লাক ক্লাসিক হ'ল ব্রেন-ফ্লাকের মূল সংস্করণ এবং আধুনিক ব্রেন-ফ্লাক থেকে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। বিএফসি-তে [...]
এটি উপেক্ষা করার পরিবর্তে এর বিষয়বস্তু মুদ্রণ করে।
[()] Print 1
[()] Print 1
[()] Print 1
( ) Push 3
( ) Push 3
( ) Push 3
স্ট্যাকের সামগ্রীগুলি নির্বাহের শেষে ( 3 3 3
) মুদ্রিত হয়।
এই মুদ্রণ:
1
1
1
3
3
3
(এখানে একটি পিছনের নতুন লাইন রয়েছে)
Flakcats
ফ্ল্যাকক্যাটস অন্যান্য 4 টি ফ্লাকের থেকে একেবারেই আলাদা এবং আমি অবাক হয়েছি যে ফ্লাকক্যাটে এটি কাজ করে। এখানকার তিনটি অপারেটর ব্রেন-ফ্ল্যাক ব্যবহার করে এমন প্রায় একই।
ফ্লাকক্যাটসের মধ্যে এই বিশেষ প্রোগ্রামের প্রধান পার্থক্যটি (...)
অপারেটর যা ফ্লাকক্যাটস ([{}]...)
ব্রেন-ফ্লাকের সমতুল্য । তবে এটি আমাদের পক্ষে কোনও তাত্পর্যপূর্ণ করে না কারণ এটি জিরোগুলি তুলে নিয়েছে এবং ব্রেন-ফ্লাক একইভাবে অনেকটাই পরিচালনা করে।
ব্রায়ান-ফ্ল্যাকের মধ্যে সংকলিত সেই প্রোগ্রামটি এখানে:
([{}]([{}]([{}][()][()][()])))
এই মুদ্রণ:
-3
-3
-3
(এখানে একটি পিছনের নতুন লাইন রয়েছে)
এটি কোনও আনুষ্ঠানিক প্রমাণ নয়, বরং একটি অনানুষ্ঠানিক প্রমাণ যা আরও কঠোর করার জন্য আরও প্রসারিত করতে হবে
বিধিনিষেধের কারণে যে ব্রেন-ফ্ল্যাক প্রোগ্রামগুলি অবশ্যই একটি ভারসাম্য-স্ট্রিং এবং প্রোগ্রামটির দৈর্ঘ্য 3 এর একাধিক হতে হবে কোনও বৈধ জমা অবশ্যই দৈর্ঘ্যে 6 এর একাধিক হতে হবে। এর অর্থ 18 এর চেয়ে কম সমাধানের দৈর্ঘ্য 12 হওয়া উচিত।
আউটপুটগুলি নতুন লাইনের পিছনে রাখার কারণে স্ট্যাকের চূড়ান্ত উচ্চতা অবশ্যই তিনটির একাধিক হওয়া উচিত বা আমরা আউটপুটের উপরের বিধিনিষেধগুলি ভেঙে ফেলব।
দৈর্ঘ্যের 12 টির কোনও বৈধ জমা দেওয়ার ক্ষেত্রে অবশ্যই 2 ধরণের ধনুর্বন্ধনী থাকতে হবে (কম থাকলে স্বতন্ত্র অক্ষরের সংখ্যার উপর নিষেধাজ্ঞাগুলি ভেঙে যায় এবং আরও 12 টির বেশি অক্ষর বোঝায়)। প্রোগ্রামটি আউটপুট উত্পাদন করার কারণে এটির একটি ধাক্কা থাকতে হবে।
এটি আমাদের বন্ধনীগুলির অন্যান্য সেট নির্বাচন করতে আমাদের ছেড়ে দেয়। বিকল্পগুলি হ'ল:
<...>/<>
এটি ব্যর্থ হয়েছে কারণ শূন্য ব্যতীত অন্য কোনও সংখ্যা তৈরি করতে আমাদের "মান" উত্পন্ন করতে হবে এমন একটি ()
তৈরি করতে অবশ্যই আমাদের ছেড়ে দিতে হবে যা দু'বারের বেশি চাপ দেওয়া অসম্ভব করে তোলে।
[...]/[]
এটি একই কারণে ব্যর্থ হয়েছে শেষ ব্যর্থ। বর্গাকার ধনুর্বন্ধনীগুলি মান তৈরিতে সত্যই খারাপ। []
একসংখ্যা করতে মান তৈরি কিন্তু আমরা প্রথম সংখ্যা ধাক্কা প্রয়োজন এবং আমরা কি তবে যথেষ্ট ডান বন্ধনী অবশিষ্ট তিনবার ধাক্কা হবে না।
{...}/{}
এই এক প্রতিশ্রুতিবদ্ধ, আমরা একটি লুপ তৈরি করতে ()
এবং একাধিকবার ধাক্কা একটি ব্যবহার করতে পারে, কিন্তু হায় আফসোস এটি সম্ভব নয়।
লুপটি শেষ হওয়ার জন্য কোনও পর্যায়ে স্ট্যাকের একটি শূন্য থাকতে হবে এবং সঠিক আউটপুট পেতে আমাদের অবশ্যই প্রোগ্রামের শেষে স্ট্যাকের শূন্য ব্যতীত অন্য কিছু থাকতে হবে। যেহেতু লুপের শেষে আমাদের দুটি []
বা <>
শূন্য নেই তা অবশ্যই স্ট্যাকের নীচ থেকে একটি অন্তর্নিহিত শূন্য হতে হবে । এর অর্থ লুপটি স্ট্যাকের সাথে কোনও নতুন সংখ্যা যুক্ত করতে পারে না এটি অকেজো করে তোলে।
যেহেতু কোনও ধনুর্বন্ধনী পছন্দ 12 দৈর্ঘ্যের একটি প্রোগ্রাম তৈরি করতে পারে না কারও অস্তিত্ব থাকতে পারে না।
যেহেতু মিনিফ্লাক মস্তিষ্ক-ফ্ল্যাকের একটি উপসেট, যে কোনও ছোট মিনিফ্লাক প্রোগ্রামটিও একটি ছোট ব্রেইন-ফ্লাক প্রোগ্রাম হতে পারে এবং সুতরাং এটি বিদ্যমান নেই।
ব্রেইন-ফ্লু ব্রেন-ফ্ল্যাকের ভিত্তিতে একটি রসিক ভাষা। দু'জন এতই একই রকম হয় তাদের দোভাষী সর্বত্র অভিন্ন তবে দুটি লাইন। উভয়ের মধ্যে পার্থক্য হ'ল তাদের নাম অনুসারে, মস্তিষ্ক-ফ্লু তার তথ্যগুলি সারিবদ্ধ করে রাখে এবং ব্রেন-ফ্ল্যাক তার ডেটা স্ট্যাকগুলিতে সঞ্চয় করে।
শুরু করার জন্য, ব্রেন-ফ্লাক দ্বারা নির্মিত প্রোগ্রাম আকারের উপর আমাদের একই বিধিনিষেধ রয়েছে, সুতরাং আমরা ১২ টি আকারের একটি প্রোগ্রাম খুঁজছি addition এছাড়াও যে (...)
কোনও আউটপুট এবং অন্য একটি জোড় তৈরি করার জন্য আমাদের প্রয়োজন হবে । <>
এবং []
জোড়া সঠিক একই কারণে তারা ব্রেন-বিমানবিধ্বংসী কামান কাজ করে না জন্য ব্রেন-Flueue মধ্যে কাজ করে না।
এখন আমরা জানি যে আমাদের প্রোগ্রামটি অবশ্যই অক্ষরগুলি নিয়ে গঠিত ((())){{{}}}
।
পূর্ববর্তী প্রমাণে ব্যবহৃত একই পদ্ধতিগুলির মাধ্যমে আমরা প্রমাণ করতে পারি যে চূড়ান্ত প্রোগ্রামে অবশ্যই একটি লুপ থাকতে হবে।
এখন এখানেই প্রমাণগুলির ভিন্নতা রয়েছে, কারণ মস্তিষ্ক-ফ্লুue কাতার জুড়ে অপারেশন করে স্ট্যাকের চেয়ে প্রোগ্রামটি কাতারে মান সহ একটি লুপ থেকে বেরিয়ে আসতে পারে।
লুপটি থেকে বেরিয়ে আসার জন্য আমাদের কাতারে শূন্যের প্রয়োজন হবে (বা একটি খালি সারি তবে যদি সারিটি খালি থাকে তবে আমরা ব্রেইন-ফ্লাকের মতো একই সমস্যাটি পাই) এর অর্থ হ'ল ({})
তৈরি করার জন্য আমাদের প্রোগ্রামটি খুলতে হবে শূন্য। প্রয়োজনীয় সংখ্যক আইটেমকে কাতারে ঠেকাতে আমাদের লুপটির ভিতরে একটি ধাক্কার প্রয়োজন। লুপের আগে আমাদের শূন্য নং নম্বরটিও চাপতে হবে যাতে আমরা লুপটি প্রবেশ করতে পারি; এটি আমাদের সর্বনিম্ন সর্বনিম্ন ব্যয় করবে (())
। আমরা এখন আমাদের চেয়ে বেশি প্যারেন্স ব্যবহার করেছি।
সুতরাং 12 টি বাইট টাস্কটি করার জন্য কোনও ব্রেন-ফ্লু প্রোগ্রাম নেই এবং ততোধিকত সেখানে আমাদের প্রোগ্রামটি সর্বোত্তম।
ফ্লাকক্যাটস এবং ব্রেন-ফ্ল্যাক ক্লাসিকগুলিতে নিম্নলিখিত সমাধানটি সর্বোত্তম।
((([][][])))
ব্যাখ্যা
[][][] -3
((( ))) push 3 times
বিকল্প 24 বাইট মস্তিষ্ক-ফ্লাক সমাধান
(<((<((<(())>)())>)())>)
এটি অনলাইন চেষ্টা করুন!
((<((<((<>)())>)())>)())
এটি অনলাইন চেষ্টা করুন!
((((((()()()){}){}){})))
এটি অনলাইন চেষ্টা করুন!