গতকাল আমার বাচ্চাটির সাথে খেলতে গিয়ে আমি তার খেলনা ট্রেনে নম্বরটি লক্ষ্য করেছি:
সুতরাং আমাদের কাছে
এত সহজ চ্যালেঞ্জ: ইনপুট হিসাবে একটি অ-নেতিবাচক নম্বর দেওয়া, ধারাবাহিক সত্য এবং মিথ্যা মানগুলি প্রত্যাবর্তন করে যা সংখ্যার স্ট্রিং উপস্থাপনা (বেস 10 এবং অগ্রণী জিরো ব্যতীত) কোনওভাবে 2 সংখ্যায় বিভক্ত হতে পারে যা সংখ্যায় বিভক্ত হতে পারে ।
উদাহরণ:
4281 truthy (4-2-8-1)
164 truthy (16-4 or 1-64)
8192 truthy (the number itself is a power of 2)
81024 truthy (8-1024 or 8-1-02-4)
101 truthy (1-01)
0 falsey (0 cannot be represented as 2^x for any x)
1 truthy
3 falsey
234789 falsey
256323 falsey (we have 256 and 32 but then 3)
8132 truthy (8-1-32)
Tests for very large numbers (not really necessary to be handled by your code):
81024256641116 truthy (8-1024-256-64-1-1-16)
64512819237913 falsey
এটি কোড-গল্ফ , তাই প্রতিটি ভাষার জন্য সংক্ষিপ্ততম কোডটি জয় পেতে পারে!
101
(0 এর কারণে মিথ্যা) ... বা এটি এখনও সত্য হওয়া উচিত ( 1 - 01
)?
101
বর্তমানের উত্তরগুলির সাথে কেসটি পরীক্ষা করে যাচ্ছি এবং তারা সবাই ফিরে গেছে true
, কারণ এটি 1-01
দুটি অংশেই বিভক্ত হতে পারে, সুতরাং আমি এই কেসটিকে সত্য বলে বিবেচনা করব।
log2(n)
কমা পরে দশমিক সংখ্যা নেই কিনা তা পরীক্ষা করে দেখুন । 2) পরীক্ষা করুন কিনা n AND (n-1) == 0
। 3) স্কয়ার-এনআরএসের একটি তালিকা তৈরি করুন n
এবং সেই তালিকায় আছেন কিনা তা পরীক্ষা করে দেখুন ।
int
(4 বাইট) সীমার মধ্যে সীমাবদ্ধ করার বিষয়ে চিন্তা করেছিলাম , তবে আসলে আপনার কোডটি খুব বড় সংখ্যক সমর্থন না করলে আমার কোনও আপত্তি নেই। কেবলমাত্র আপনার উত্তরে আপনার কোডের সীমাবদ্ধতাগুলি লিখুন।