ভূমিকা
এই চ্যালেঞ্জে আমরা ইতিবাচক পূর্ণসংখ্যার একটি নির্দিষ্ট ক্রম নিয়ে কাজ করব। অর্ডারটি এরকম হয়:
3, 5, 7, 9, 11, ...
2*3, 2*5, 2*7, 2*9, 2*11, ...
4*3, 4*5, 4*7, 4*9, 4*11, ...
8*3, 8*5, 8*7, 8*9, 8*11, ...
16*3, 16*5, 16*7, 16*9, 16*11, ...
...
... 64, 32, 16, 8, 4, 2, 1
আমরা প্রথমে সমস্ত বিজোড় পূর্ণসংখ্যা 1 টিরও বেশি উপরে আরোহণের ক্রমের তালিকায় রাখি। তারপরে আমরা 1 টির চেয়ে 2 গুণ বেশি বেস্ট পূর্ণসংখ্যার তালিকা তৈরি করব, তারপরে 4 বার, তারপরে 8 বার এবং আরও কিছুর জন্য: সমস্ত কে জন্য , আমরা 2 কে -বেটের বেদ সংখ্যাটিকে 1 টিরও বেশি উপরে ক্রম হিসাবে তালিকাভুক্ত করি । অবশেষে, আমরা 2 টির উত্থানের ক্রমে তালিকাবদ্ধ করে 1 টিতে সমাপ্ত হব । প্রতিটি ইতিবাচক পূর্ণসংখ্যা এই "তালিকায়" ঠিক একবার হয় occurs
আরও সুস্পষ্টভাবে, দুটি স্বতন্ত্র ধনাত্মক পূর্ণসংখ্যার A = n · 2 p এবং B = m · 2 q বিবেচনা করুন , যেখানে n, m ≥ 1 বিজোড় এবং p, q q 0 হয় । তারপর একজন সামনে আসে বি যদি নিম্নলিখিত শর্ত এক ঝুলিতে, ক্রম মধ্যে:
- n> 1 , এম> 1 এবং পি <কিউ
- 1 <এন <এম এবং পি = কিউ
- n> মি = 1
- n = m = 1 এবং p> কিউ
এই ক্রমটি শরকভস্কিই উপপাদ্য হিসাবে পরিচিত বিস্ময়কর গাণিতিক ফলাফলে উপস্থিত হয় , যা গতিশীল সিস্টেমের পর্যায়ক্রমিক বিষয়গুলি নিয়ে উদ্বেগ প্রকাশ করে। আমি এখানে বিশদ যেতে হবে না।
কাজটি
এই চ্যালেঞ্জটিতে আপনার কাজটি উপরের ক্রমটি গণনা করা। আপনার ইনপুটগুলি দুটি ধনাত্মক পূর্ণসংখ্যা এ এবং বি হয় , যা সমান হতে পারে। আপনার আউটপুট একটি truthy মান যদি একটি সামনে আসে বি ক্রম মধ্যে, এবং একটি falsy মান অন্যথায়। যদি এ = বি হয় তবে আপনার আউটপুট সত্য হওয়া উচিত। আপনি যতক্ষণ না সামঞ্জস্য থাকেন ততক্ষণ আপনি উভয় ক্রমে A এবং B নিতে পারেন ।
আপনাকে পূর্ণসংখ্যার ওভারফ্লো সম্পর্কে চিন্তা করার দরকার নেই, তবে আপনার অ্যালগোরিদম তাত্ত্বিকভাবে ইচ্ছামত বৃহত ইনপুটগুলির জন্য কাজ করা উচিত।
পরীক্ষার মামলা
সত্য ঘটনা
3 11
9 6
48 112
49 112
158 158
36 24
14 28
144 32
32 32
32 8
3 1
1 1
মিথ্যা উদাহরণ
1 2
1 5
11 5
20 25
2 8
256 255
256 257
72 52
2176 1216
2176 2496
a&1|~b&1&f(a/2,b/2)
কাজ করে?