আমরা ইতিমধ্যে এখানে একটি ভাঁজ সংখ্যা সংজ্ঞায়িত করেছি ।
তবে এখন আমরা একটি সুপার ফোল্ডিং নম্বর নির্ধারণ করতে চলেছি। একটি সুপার ফোল্ডিং নম্বর এমন একটি সংখ্যা যা পর্যাপ্ত সময়গুলিকে ভাঁজ করা হলে অবশেষে এটি দুটির শক্তির চেয়ে কম পৌঁছায়। ভাঁজ সংখ্যা প্রশ্নের চেয়ে ভাঁজ করার পদ্ধতিটি কিছুটা আলাদা।
ভাঁজ অ্যালগরিদম নিম্নলিখিত হিসাবে যায়:
বাইনারি উপস্থাপনা নিন
যেমন 5882
1011011111010
এটি তিনটি পার্টিশনে বিভক্ত। প্রথম অর্ধেক, শেষ অর্ধেক এবং মাঝারি অঙ্ক (যদি এর মধ্যে বিচিত্র সংখ্যার অঙ্ক থাকে)
101101 1 111010
মাঝের অঙ্কটি শূন্য হলে এই সংখ্যাটি ভাঁজ করা যাবে না
দ্বিতীয়ার্ধকে বিপরীত করুন এবং প্রথমার্ধে সুপারম্পোজড
010111 101101
অঙ্কগুলি জায়গায় যুক্ত করুন
111212
- যদি ফলাফলের মধ্যে 2 টি থাকে তবে সংখ্যাটি ভাঁজ করা যায় না অন্যথায় নতুন সংখ্যাটি ভাঁজ অ্যালগরিদমের ফলাফল।
একটি নম্বর হ'ল একটি সুপার ফোল্ডিং নম্বর যদি এটিকে একটানা স্ট্রিংয়ে ফোল্ড করা যায়। (সমস্ত ফোল্ডিং নম্বরগুলিও সুপার ফোল্ডিং নম্বর)
আপনার টাস্কটি এমন একটি কোড লিখতে হয় যা একটি সংখ্যায় লাগে এবং যদি সত্যটি একটি ফোল্ডিং নম্বর হয় এবং অন্যথায় মিথ্যা হয় তবে সত্যবাদী মানটি আউটপুট করে। আপনার প্রোগ্রামের আকারে আপনাকে স্কোর করা হবে।
উদাহরণ
5200
বাইনারি রূপান্তর:
1010001010000
অর্ধেক বিভক্ত:
101000 1 010000
মাঝখানের একটি হ'ল তাই আমরা অর্ধেকটি সুপারপোজ করি:
000010
101000
তাদের যুক্ত করেছে:
101010
কোনও দ্বিগুণ নেই তাই আমরা অর্ধে স্প্লিট চালিয়ে যাব:
101 010
ভাঁজ:
010
101
111
ফলাফল 111
(দশমিক in) সুতরাং এটি একটি সুপার ফোল্ডিং নম্বর।
পরীক্ষার কেস
প্রথম 100 সুপার ফোল্ডিং নম্বরগুলি হ'ল:
[1, 2, 3, 6, 7, 8, 10, 12, 15, 20, 22, 28, 31, 34, 38, 42, 48, 52, 56, 63, 74, 78, 90, 104, 108, 120, 127, 128, 130, 132, 142, 150, 160, 170, 178, 192, 204, 212, 232, 240, 255, 272, 274, 276, 286, 310, 336, 346, 370, 400, 412, 436, 472, 496, 511, 516, 518, 524, 542, 558, 580, 598, 614, 640, 642, 648, 666, 682, 704, 722, 738, 772, 796, 812, 852, 868, 896, 920, 936, 976, 992, 1023, 1060, 1062, 1068, 1086, 1134, 1188, 1206, 1254, 1312, 1314, 1320, 1338, 1386, 1440, 1458, 1506, 1572, 1596]
3
হয় তবে পরীক্ষার কেসগুলিতে আবার কীভাবে লুক্কায়িত হলেন? এটি কীভাবে ভাঁজ করা যায় তা আমি দেখতে পাচ্ছি না, যেহেতু এটি বিভক্ত হয়ে যায়1 1
, সঙ্গে সঙ্গে একটি দেওয়া2
। বা আপনি কি বলছেন যে এটি ভাঁজ করা শূন্যগুণকেও গণনা করা হয়?