কম্পিউটার

C++-এ অনন্য প্রাইম ফ্যাক্টরের সর্বোচ্চ সংখ্যা


প্রদত্ত কাজটি হল একটি সংখ্যার [1, N] পরিসরে যেখানে N দেওয়া আছে সেখানে সর্বাধিক সংখ্যক অনন্য মৌলিক গুণনীয়ক খুঁজে বের করা।

আসুন এখন বুঝতে পারি একটি উদাহরণ ব্যবহার করে আমাদের কী করতে হবে −

ইনপুট − N=100

আউটপুট৷ − 3

ব্যাখ্যা − চলুন 30 নিই [1, 100]

এর পরিসরে

30 =3 * 2 * 5 =অনন্য মৌলিক গুণনীয়ক। অতএব, [1, 100] পরিসরে সর্বাধিক 3টি অনন্য কারণ পাওয়া যেতে পারে।

ইনপুট − N=300

আউটপুট − 4

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • MaxPrime() ফাংশনে আমরা প্রথমে পরীক্ষা করব কিনা (N <2)। যদি তাই হয় তবে কেবল শূন্য দিন, অন্যথায় এগিয়ে যান।

  • তারপর আমরা প্রদত্ত সংখ্যা N এর পূর্বে সমস্ত মৌলিক সংখ্যা বের করতে ইরাটোসথেনিসের চালুনি ব্যবহার করব।

  • পণ্য এবং চূড়ান্ত উত্তর যথাক্রমে সংরক্ষণ করতে দুটি ভেরিয়েবল pro=1 এবং max=0 টাইপ int শুরু করুন।

  • Eratosthenes-এর চালনির ভিতরে আমরা মৌলিক সংখ্যার প্রথম সেটটিকে গুণ করব যতক্ষণ না গুণফল N-এর থেকে ছোট থাকে − pro=*p;

    লিখে।
  • পরীক্ষা করুন যদি (pro> N)। যদি তাই হয় তাহলে সর্বোচ্চ ফেরত দিন এবং সর্বোচ্চ 1 যোগ করুন।

  • চালনির বাইরে, সর্বাধিক ফেরত দিন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int MaxPrime(int N){
   if (N < 2)
      return 0;
   // Using Sieve of Eratosthenes
   bool Arr[N+1];
   memset(Arr, true, sizeof(Arr));
   int pro = 1, max = 0;
   for (int p=2; p*p<=N; p++){
      if (Arr[p] == true){
         for (int i=p*2; i<=N; i += p)
            Arr[i] = false;
         /*Multiply first set of prime numbers while product remains smaller than N*/
         pro *= p;
         if (pro > N)
            return max;
         max++;
      }
   }
   return max;
}
//Main function
int main(){
   int N = 300;
   cout << MaxPrime(N);
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −

4

  1. C++ এ সর্বাধিক পণ্যের চতুর্গুণ সংখ্যা খুঁজুন

  2. C++ এ পাটিগণিত সংখ্যা

  3. C++ এ CHAR_BIT

  4. পাইথন প্রোগ্রামে একটি সংখ্যার অনন্য মৌলিক গুণনীয়কের গুণফল