ফ্রান্সোইস প্রোথের নামানুসারে একটি প্রথম সংখ্যা , এমন একটি সংখ্যা যা প্রকাশ করা যেতে পারে
N = k * 2^n + 1
কোথায় k
একটি বিজোড় পূর্ণসংখ্যা ইতিবাচক এবং n
একটি ধনাত্মক পূর্ণসংখ্যা যেমন যে হয় 2^n > k
। এর আরও একটি দৃ concrete় উদাহরণ ব্যবহার করা যাক। 3 নিন 3 একটি প্রথম সংখ্যা কারণ এটি হিসাবে লেখা যেতে পারে
(1 * 2^1) + 1
এবং 2^1 > 1
সন্তুষ্ট 5 এটি একটি প্রথম সংখ্যা কারণ এটি হিসাবে লেখা যেতে পারে
(1 * 2^2) + 1
এবং 2^2 > 1
সন্তুষ্ট যাইহোক, 7 না একটি Proth সংখ্যা কারণ একমাত্র উপায় আকারে এটা লিখতে N = k * 2^n + 1
হয়
(3 * 2^1) + 1
এবং 2^1 > 3
সন্তুষ্ট হয় না।
আপনার চ্যালেঞ্জটি মোটামুটি সহজ: আপনার অবশ্যই একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা একটি ধনাত্মক পূর্ণসংখ্যার ভিত্তিতে নির্ধারণ করে যে এটি কোনও প্রোথ সংখ্যা কিনা। আপনি যে কোনও যুক্তিসঙ্গত ফর্ম্যাটে ইনপুট নিতে পারেন, এবং এটি যদি প্রথম সংখ্যা এবং যদি এটি না হয় তবে মিথ্যা মান হয় তবে একটি সত্যবাদী মান আউটপুট করা উচিত। আপনার ভাষার যদি কোনও "প্রোথ-নম্বর সনাক্তকরণ" ফাংশন থাকে তবে আপনি সেগুলি ব্যবহার করতে পারেন।
পরীক্ষা IO
এখানে 1000 পর্যন্ত প্রথম 46 সংখ্যা রয়েছে। ( A080075 )
3, 5, 9, 13, 17, 25, 33, 41, 49, 57, 65, 81, 97, 113, 129, 145, 161, 177, 193, 209, 225, 241, 257, 289, 321, 353, 385, 417, 449, 481, 513, 545, 577, 609, 641, 673, 705, 737, 769, 801, 833, 865, 897, 929, 961, 993
অন্যান্য প্রতিটি বৈধ ইনপুট একটি মিথ্যা মান দিতে হবে।
যথারীতি, এটি কোড-গল্ফ, সুতরাং মানক লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ত উত্তরটি জিততে পারে!
সংখ্যা তত্ত্ব মজা-সত্য পার্শ্ব-নোট:
মার্সেন প্রাইম নয় এমন সর্বাধিক পরিচিত প্রাইম হ'ল 19249 * 2^13018586 + 1
, এটি ঠিক প্রথম সংখ্যার হিসাবেও ঘটে!