এটি কোনও ভাঁজ নম্বর কিনা তা নির্ধারণ করে একটি নম্বর দেওয়া।
একটি ভাঁজ নম্বর এমন একটি সংখ্যার মতো যে আপনি যদি এটি বাইনারি উপস্থাপনা নেন এবং এটি অর্ধেক অংশে "ভাঁজ" করেন, এটি সংখ্যার প্রথমার্ধের XNOR গুণনের ফলস্বরূপ এবং দ্বিতীয়ার্ধের সাথে এর বিপরীতে অঙ্কগুলি সহ, আপনি পাবেন শূন্য।
বাইনারিতে যদি সংখ্যাটির একটি বিজোড় সংখ্যা থাকে তবে এর মাঝারি সংখ্যাটি 1 হতে হবে এবং ভাঁজ করার সময় তা উপেক্ষা করা হবে।
যেহেতু এটি কিছুটা বিভ্রান্তিকর হতে পারে আমি কয়েকটি উদাহরণ দেব:
178
178 এর বাইনারি উপস্থাপনা হ'ল
10110010
এটি ভাঁজ করতে আমরা প্রথমে এটি অর্ধেক বিভক্ত
1011 0010
আমরা দ্বিতীয়ার্ধকে বিপরীত করি
1011
0100
এবং আমরা দুটি অংশ XNOR:
0000
এটি শূন্য তাই এটি একটি ভাঁজ নম্বর।
1644
1644 এর বাইনারি উপস্থাপনা হ'ল
11001101100
এটি ভাঁজ করতে আমরা প্রথমে এটি অর্ধেক বিভক্ত
11001 1 01100
মাঝখানের বিটটি 1 তাই আমরা এটিকে ফেলে দিই।
11001 01100
আমরা দ্বিতীয়ার্ধকে বিপরীত করি
11001
00110
এবং আমরা দুটি অংশ XNOR:
00000
এটি শূন্য তাই এটি একটি ভাঁজ নম্বর।
4254
4254 এর বাইনারি উপস্থাপনা হ'ল
1000010011110
এটি ভাঁজ করতে আমরা প্রথমে এটি অর্ধেক বিভক্ত
100001 0 011110
মাঝের বিটটি 0 তাই এটি কোনও ভাঁজ নম্বর নয়।
কার্য
আপনার কাজটি হ'ল ধনাত্মক সংখ্যায় নেওয়া এবং যদি নম্বরটি ভাঁজ হয়ে থাকে এবং সত্য না হয় তবে সত্যবাদী ফিরিয়ে দেওয়া। এটি কোড গল্ফ তাই বাইট গণনা নিচে রাখার চেষ্টা করুন।
পরীক্ষার মামলা
এখানে প্রথম 99 ভাঁজ নম্বর রয়েছে:
[1, 2, 6, 10, 12, 22, 28, 38, 42, 52, 56, 78, 90, 108, 120, 142, 150, 170, 178, 204, 212, 232, 240, 286, 310, 346, 370, 412, 436, 472, 496, 542, 558, 598, 614, 666, 682, 722, 738, 796, 812, 852, 868, 920, 936, 976, 992, 1086, 1134, 1206, 1254, 1338, 1386, 1458, 1506, 1596, 1644, 1716, 1764, 1848, 1896, 1968, 2016, 2110, 2142, 2222, 2254, 2358, 2390, 2470, 2502, 2618, 2650, 2730, 2762, 2866, 2898, 2978, 3010, 3132, 3164, 3244, 3276, 3380, 3412, 3492, 3524, 3640, 3672, 3752, 3784, 3888, 3920, 4000, 4032, 4222, 4318, 4462, 4558]
0
, তাই না। (যদিও এটির মতো তৃতীয় কাজের উদাহরণ থাকা উচিত)) একইটি ১৮ এর জন্য