কোন সংখ্যাকে দুইটি প্রাইম নাম্বারের যোগফল আকারে প্রকাশ

এটি নাম্বার থিওরি থেকে দেওয়া।দেখা যায় যে আমাদের প্রায় প্রত্যেকটা কন্টেস্টেই একটা না একটা প্রবলেম থাকে নাম্বার থিওরির। তাই আজকে আমি কোন সংখ্যাকে দুইটি প্রাইম সংখ্যার যোগফল আকারে কিভাবে প্রকাশ করা যায়, তা আলোচনা করব।


আমরা জানি,সব প্রাইম(মৌলিক) নাম্বার বিজোড়(২ ব্যাতিত) ।আবার, দুইটি বেজোড় সংখ্যার যোগফল সব সময় জোড় হয় ।সুতরাং আমরা জোড় সংখ্যার ক্ষেত্রে এমন একটি পেয়ার অবশ্যই পাব যার যোগফল আমদের সংখ্যাটির সমানযদি ঐ জোড় সংখ্যাটি n হয় এবং n-j(j হল এখানে বিজোড় প্রাইম নাম্বার) প্রাইম হয়;তাহলে আমরা বলতে পারব যে, সংখ্যাটিকে দুইটি প্রাইম সংখ্যার যোগফল আকারে প্রকাশ করা সম্ভব।এটা প্রোগ্রামে কিভাবে করবে,একটু চেষ্টা কর। আমি তোমাদের এটা তোমাদের সুবিধার জন্য করে দিলেও, পোস্টটি শেষে একটা প্রবলেম থাকবে, সেটা নিজেরা সমাধান করবে।
একটি জোড় সংখ্যাকে দুটি প্রাইম নাম্বারে প্রকাশ করার প্রোগ্রাম

এইবার আসি বিজোড় সংখ্যার জন্য।
আমাদের সংখ্যাটি যদি বিজোড় হয় তাহলে দুইটি সংখ্যার যোগফল তখনি বিজোড় হবে যখন একটি সংখ্যা জোড় হবে।যেহেতু আমাদের কাছে কেবল মাত্র জোড় প্রাইম সংখ্যা একটি আছে সেহেতূ আমরা শুধু এতটুকু চেক করলেই আমরা আমাদের উত্তর পেয়ে যাব তা হচ্ছে যদি ঐ বিজোড় সংখ্যাটি n হয় এবং n-2 যদি প্রাইম হয়;তাহলে আমরা বলতে পারব যে, সংখ্যাটিকে দুইটি প্রাইম সংখ্যার যোগফল আকারে প্রকাশ করা সম্ভব। অন্যথায় নয়।


যেমনঃ
৩১ = ২ + ২৯
৩৩ = ২+৩১
৩৫ = ২+৩৩(৩৩ প্রাইম নয়)।
এখানে ৩৫ এর সময় আমাদের n-2 সংখ্যাটি প্রাইম নয়।তাই আমরা বলতে পারি, ৩৫ দুইটি প্রাইম নাম্বার এর যোগফল আকারে প্রকাশ করা সম্ভব নয়।
এখন তোমরা প্রবলেমটি সমাধান করার চেষ্টা কর।
codeforces 735-D. Taxes

No comments

Powered by Blogger.