>>>>,[[<]<<+>>>[>],]<[<]<+<[>>+<[-<-<+>>]<<++[->>+<<]>]>[-]>>[<[->.[-]<[->+<]<+[->+<]>>]++++++++++.[-]<[->+<]>>]
এটি অনলাইন চেষ্টা করুন!
বিএফ এর স্বাদগুলিতে নিরাপদ যা কোষগুলিকে মুখোশ 256
দেয় না, নাল বাইট সমর্থন করে না।
যদি স্বাদ 4 টি বাইট সংরক্ষণের জন্য নেতিবাচক মেমরিটিকে সমর্থন করে তবে প্রাথমিক ডান তীরগুলি সরান।
ব্যাখ্যা
প্রোগ্রামটি তিনটি পর্যায়ে বিভক্ত:
Stage 1: >>>>,[[<]<<+>>>[>],]<[<]
Stage 2: <+<[>>+<[-<-<+>>]<<++[->>+<<]>]>[-]>>
Stage 3: [<[->.[-]<[->+<]<+[->+<]>>]++++++++++.[-]<[->+<]>>]
ধাপ 1
এই পর্যায়ে, আমরা সমস্ত অক্ষর টেপটিতে রেখেছি, অক্ষরের সংখ্যা গণনা করে।
এই টেপের abcdefghi
পরে ইনপুটটির জন্য এটি টেপ:
000 009 000 000 095 096 097 098 099 100 101 102 103
^
009
গণনা করা হয়।
প্রতিটি চরিত্রের জন্য, আমরা প্রথম শূন্যকে বাম দিকে সরান এবং তারপরে [<]
একটিকে গণনায় যুক্ত করি <<+>>>
এবং তারপরে [>]
পরবর্তী অক্ষরের জন্য প্রস্তুত হতে ডানদিকের শূন্যে চলে যাই ।
ধাপ ২
এই স্তরটি দ্বিতীয় কোষে সঞ্চিত দৈর্ঘ্যের বর্গমূল করে।
1, 3, 5, 7, ...
সংখ্যাটি শূন্য না হওয়া পর্যন্ত এটি বিয়োগ করতে থাকে, পুনরাবৃত্তির সংখ্যার চেক রেখে।
এটি কাজ করে কারণ বর্গ সংখ্যা হিসাবে প্রকাশ করা যেতে পারে 1 + 3 + 5 + ...
।
পর্যায় 3
দৈর্ঘ্য উপরের হিসাবে পাওয়া বর্গমূল বোঝাতে n
।
এই পর্যায়টি n
একবারে অক্ষরের আউটপুট দেয় এবং তারপরে টেপটি সাফ না হওয়া পর্যন্ত একটি নতুন লাইন আউটপুট দেয়।