চ্যালেঞ্জ
নীচের মৌলিক সংখ্যাগুলি সন্ধানের জন্য সুন্দরম চালনী প্রয়োগ করুনn । একটি ইনপুট পূর্ণসংখ্যা নিন nএবং নীচের মূল সংখ্যাগুলি আউটপুট দিন n। আপনি ধরে নিতে পারেন যে nসর্বদা এক মিলিয়নের চেয়ে কম বা সমান হবে।
চালনী
থেকে পূর্ণসংখ্যার একটি তালিকা দিয়ে শুরু করুন
1থেকেn।ফর্মের সমস্ত নম্বর সরিয়ে ফেলুন
i + j + 2ijযেখানে:iএবংjকম হয়n।jসর্বদা বৃহত্তর বা সমানi, যা এর চেয়ে বড় বা সমান1।
i + j + 2ijএর চেয়ে কম বা সমানn
অবশিষ্ট সংখ্যাগুলি দ্বারা গুণিত করুন
2, এবং যুক্ত করুন1।
এটি সমস্ত মৌলিক সংখ্যা (কেবলমাত্র 2আপনার আউটপুটে অন্তর্ভুক্ত করা উচিত) এর চেয়ে কম ফল দেবে 2n + 2।
নীচে প্রাইমগুলি সন্ধান করতে চালনী ব্যবহার করা হচ্ছে তার একটি অ্যানিমেশন এখানে রয়েছে 202।

আউটপুট
আপনার আউটপুট প্রতিটি প্রধান পূর্ণসংখ্যার ≤ n(আরোহী ক্রমে) হওয়া উচিত যার পরে একটি নতুন লাইন থাকবে:
2
3
5
কোথায় nআছে 5।
উদাহরণ
> 10
2
3
5
7
> 30
2
3
5
7
11
13
17
19
23
29
ইনপুট দ্বারা চিহ্নিত করা হয় >।
(i,j)সাথে চেক করে i<=j, তবে আমরা যদি এই প্রয়োজনীয়তা উপেক্ষা করি তবে ফলাফল পরিবর্তন হয় না। বাইটস বাঁচাতে আমরা কি তা করতে পারি?
i <= j। এটি চালনী কীভাবে কাজ করে তার কেবলমাত্র একটি অংশ। সুতরাং হ্যাঁ, আপনি i <= jআপনার কোডটি ছেড়ে দিতে পারেন । @ এক্সনোর
2n+1) যা ফর্ম নয় 2(i + j + 2ij)+1- আমরা সম্ভাব্য মৌলিক সরাসরি এই সম্পত্তি পরীক্ষা করতে পারেন অথবা আমাদের কোড আছে আছে কিছু সময়ে বার 2 প্লাস 1 করতে ?
nপুরো বিষয়টি যা আছে তা নিয়ে আমি কিছুটা বিভ্রান্ত হয়ে পড়েছি । পদ্ধতির বিবরণে এটি বলে যে এটি সমস্ত প্রাইম তৈরি করে 2 * n + 2। তবে ইনপুট / আউটপুট বিবরণে এটি বলে যে ইনপুটটি হ'ল nএবং আউটপুট সমস্ত প্রাইম আপ n। সুতরাং আমরা কি সমস্ত প্রাইম আপ তৈরি করতে পদ্ধতিটি প্রয়োগ করব 2 * n + 2এবং তারপরে nআউটপুটটির চেয়ে বড়গুলি ফেলে দেব? অথবা nআমাদের ইনপুট থেকে পদ্ধতি বিবরণে গণনা করা উচিত n?
n=30আউটপুটে 29 অনুপস্থিত।