পর্যায়ক্রমে হারমনিক সিরিজ একটি সুপরিচিত কেন্দ্রমুখী সিরিজ।
"স্পষ্টতই", এটি স্পষ্টতই স্পষ্ট যে এটি 2 এর প্রাকৃতিক লগে রূপান্তরিত হয়েছে বা এটি আছে?
যেহেতু সিরিজগুলি একেবারে অভিজাত নয় , কেবলমাত্র শর্তাদি পুনর্বিন্যাসের মাধ্যমে, আমি এটিকে আমার যা কিছু চাই যেতে চাই। ধরুন আমি চাই সিরিজটি ই- তে রূপান্তরিত করব । আমাকে যা করতে হবে তা হ'ল:
আপনি যদি প্যাটার্নটি ধরেন না, তবে একটি সুস্পষ্ট চিত্র নেই। এখানে কিভাবে এটা কাজ করে:
- ইতিবাচক এবং নেতিবাচক পদগুলির ক্ষেত্রে বিকল্প হারমোনিক সিরিজের শর্তাদি বিবেচনা করুন।
- আমাদের লক্ষ্য (ই) ছাড়িয়ে যাওয়ার জন্য কেবলমাত্র যথেষ্ট ইতিবাচক শর্তাদি একসাথে যুক্ত করুন। (ওরফে
sum > target) - পরবর্তী নেতিবাচক শব্দটি বিয়োগ করুন।
- ফিরে যান 2।
নোট করুন যে পদক্ষেপ 2 এ, যদি আমাদের হয় sum == targetতবে আপনার আরও একটি ইতিবাচক পদ যুক্ত করা উচিত।
এটি থেকে আমরা প্রতিটি সংখ্যার সাথে সম্পর্কিত একটি ক্রমটি নিম্নলিখিত হিসাবে সংজ্ঞায়িত করতে পারি:
- উপরের অ্যালগরিদম অনুসরণ করুন
- প্রতিটি ধনাত্মক মেয়াদে আউটপুট 1।
- প্রতিটি নেতিবাচক শর্তের জন্য, আউটপুট 0।
আসুন এই ক্রমটিকে একটি সংখ্যার "সুরেলা বিট প্যাটার্ন" বলি। উদাহরণস্বরূপ, ই এর এইচবিপি শুরু হয়:
1, 1, 1, 1, <32 times>, 0, 1, 1, <54 times>, 0, 1, 1, ...
আপনার চ্যালেঞ্জ:
আপনাকে দেওয়া হবে:
- পরিসরে একটি যৌক্তিক ইনপুট লক্ষ্য [-10, 10] (দ্রষ্টব্য: এমনকি সুরেলা সিরিজের মাধ্যমে 10 এ পৌঁছাতে অনেক মিলিয়ন শর্তাদি লাগে)। এটি একটি দশমিক (ওরফে
1.1) হতে পারে বা আপনি সরাসরি যুক্তি নিতে পারেন (ওরফে12/100) - ধনাত্মক
intএন ইনপুট, আউটপুটে সুরেলা বিট প্যাটার্নের পদগুলির সংখ্যা উল্লেখ করে।
আপনি লক্ষ্যটির সঠিক সুরেলা বিট প্যাটার্নটি নির্দিষ্ট শর্তাবলীতে আউটপুট আশা করছেন । আপনি স্থান বিভাজিত মান আউটপুট করতে পারেন, কমা পৃথকীকরণ, কোন বিচ্ছেদ, ইত্যাদি; ঠিক যতক্ষণ 0s এবং 1 এর প্যাটার্নটি স্পষ্টভাবে দৃশ্যমান এবং ধারাবাহিক পৃথকীকরণের সাথে বাম থেকে ডানদিকে পড়া হয়।
পরীক্ষার কেস
>>> 0, 1
1
>>> 0, 2
10
>>> 0, 7
1000010
>>> 1, 10
1101011011
>>> 1.01, 3
110
>>> 1.01, 24
110101101101101101101101
>>> 2.71, 32
11111111111111111111111111111111
>>> 2.71, 144
111111111111111111111111111111110111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111
>>> -9.8, 100
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
দ্রষ্টব্য যেহেতু -9.8এত বড়, প্রথম 1যেটি আউটপুট হবে তা কোথাও কোথাও কোথাও 149496620(এটি ফ্লোটের মাধ্যমে গণনা করা হয়েছিল, সুতরাং মানটি সঠিক নাও হতে পারে)।
h a p qপরিবর্তেh p q aএকটি বাইট পরিমাণ সঞ্চয় হয়।