স্কোর: 686
সমস্ত স্নিপেটগুলি ধরে নিচ্ছে যে সংখ্যাগুলি ইতিমধ্যে 0 এবং 1 সেলে লোড হয়েছে এবং পয়েন্টারটি 0 কোষে দেখায় I আমি যদি পরে চ্যালেঞ্জের প্রয়োজন হয় তবে আমি একটি এটোই স্নিপেট যুক্ত করতে পারি। আপাতত, আপনি এইভাবে কোডটি ব্যবহার করে দেখতে পারেন:
+++++++++> number 1
++++< number 2
এক্সওআর, 221
ফলাফলটি সেল 10 এ লেখা হয়, পয়েন্টারটি 5 কক্ষে শেষ হয়
>>>>>++++++++[-<<<<<[->>+<<[->>->+<]>>[->>>>+<<]<<<<]>>>[-<<<+>>>]<<[->+<[->->+>
>>>>]>[->>>>>+>>]<<<<<<<<]>>[-<<+>>]>>>[->>+<<]>[>[-<->]<[->+<]]>[[-]<<<[->+>-<<
]>[-<+>]+>+++++++[-<[->>++<<]>>[-<<+>>]<]<[->>>>+<<<<]>>]<<<]
এবং, 209
ফলাফলটি সেল 10 এ লেখা হয়, পয়েন্টারটি 5 কক্ষে শেষ হয়
>>>>>++++++++[-<<<<<[->>+<<[->>->+<]>>[->>>>+<<]<<<<]>>>[-<<<+>>>]<<[->+<[->->+>
>>>>]>[->>>>>+>>]<<<<<<<<]>>[-<<+>>]>>>[->[->+<]<]>[-]>[-<<<[->+>-<<]>[-<+>]+>++
+++++[-<[->>++<<]>>[-<<+>>]<]<[->>>>+<<<<]>>]<<<]
বা, 211
ফলাফলটি সেল 10 এ লেখা হয়, পয়েন্টারটি 5 কক্ষে শেষ হয়
>>>>>++++++++[-<<<<<[->>+<<[->>->+<]>>[->>>>+<<]<<<<]>>>[-<<<+>>>]<<[->+<[->->+>
>>>>]>[->>>>>+>>]<<<<<<<<]>>[-<<+>>]>>>[->>+<<]>[->+<]>[[-]<<<[->+>-<<]>[-<+>]+>
+++++++[-<[->>++<<]>>[-<<+>>]<]<[->>>>+<<<<]>>]<<<]
বামদিকে ঘোরান, 38
ফলাফলটি সেল 1 এ লিখিত হয়, পয়েন্টারটি 4 কক্ষে শেষ হয়
[->++>+<[>-]>[->>+<]<<<]>>>>[-<<<+>>>]
নয়, 7
ফলাফল 1 কক্ষে লিখিত হয়, পয়েন্টার 0 সেলে শেষ হয়
+[+>+<]
ব্যাখ্যা:
এক্সওআর, এবং এবং এবং সমস্ত একই ধরণের ফ্যাশনে কাজ করে: প্রতিটি সংখ্যার জন্য n / 2 গণনা করুন এবং এন মোড 2 মনে রাখবেন the একক বিটের জন্য লজিক্যাল এক্সওআর / এবং / অথবা গণনা করুন। যদি ফলাফল বিট সেট করা থাকে তবে ফলাফলটিতে 2 ^ n যুক্ত করুন। 8 বার পুনরাবৃত্তি করুন।
এটি আমি ব্যবহৃত মেমরি বিন্যাস:
0 1 2 3 4 5 6 7
n1 | n2 | marker | n/2 | 0 | counter | bit1 | bit2 |
8 9 10
temp | temp | result
এখানে XOR এর উত্স (সংখ্যাগুলি নির্দেশ করে যে সময়ে পয়েন্টারটি কোথায় রয়েছে):
>>>>>
++++ ++++ counter
[
-
<<<<<
divide n1 by two
[ 0
-
>>+ set marker 2
<< 0
[->>->+<] dec marker inc n/2
>> 2 or 4
[->>>>+<<]
<<<<
]
>>>
[-<<<+>>>]
<<
divide n2 by two
[ 1
-
>+ set marker 2
< 1
[->->+>>>>>] dec marker inc n/2
> 2 or 9
[->>>>>+>>]
<<<< <<<<
]
>>[-<<+>>] 3
>>> 6
[->>+<<]>[>[-<->]<[->+<]]> one bit xor 8
[
[-]<<< 5
[->+>-<<] copy counter negative
> 6
[-<+>]
+> 7
++++ +++ cell 6 contains a one and cell 7 how many bits to shift
[-<[->>++<<]>>[-<<+>>]<] 2^n
< 6
[->>>>+<<<<]
>> 8
]
<<<
]
বাম ঘোরার জন্য, আবার 2n শূন্য কিনা তা নির্ধারণের জন্য আবার সেল 2-তে একটি চিহ্নিতকারী রয়েছে, যেহেতু আপনি কেবলমাত্র কোনও ঘর সরাসরি শূন্য নয় কিনা তা নির্ধারণ করতে পারেন। যদি তা হয় তবে একটি ক্যারি বিট 4 কোষে লেখা হয় এবং পরে 2n এ যুক্ত হয়। এটি মেমরির বিন্যাস:
0 1 2 3 4
n | 2n | marker | 0 | carry