কম্পিউটার

একটি সংখ্যার বৃহত্তম মৌলিক গুণনীয়কের জন্য সি প্রোগ্রাম?


এই বিভাগে, আমরা দেখব কিভাবে আমরা একটি সংখ্যার সবচেয়ে বড় মৌলিক গুণনীয়ক একটি দক্ষ উপায়ে পেতে পারি। n =1092 বলে একটি সংখ্যা আছে, আমাদের এটির বৃহত্তম মৌলিক গুণনীয়ক পেতে হবে। 1092-এর মৌলিক গুণনীয়ক হল 2, 2, 3, 7, 13। সুতরাং বৃহত্তম হল 13। এই সমস্যা সমাধানের জন্য আমাদের এই নিয়মটি অনুসরণ করতে হবে −

  • যখন সংখ্যাটি 2 দ্বারা বিভাজ্য হয়, তখন 2 কে বৃহত্তম হিসাবে সংরক্ষণ করুন এবং বারবার সংখ্যাটিকে 2 দ্বারা ভাগ করুন৷

  • এখন সংখ্যাটি বিজোড় হতে হবে। এখন সংখ্যাটির 3 থেকে শুরু করে বর্গমূল পর্যন্ত, সংখ্যাটি যদি বর্তমান মানের দ্বারা বিভাজ্য হয়, তাহলে ফ্যাক্টরটিকে বৃহত্তম হিসাবে সংরক্ষণ করুন এবং বর্তমান সংখ্যা দিয়ে ভাগ করে সংখ্যাটি পরিবর্তন করুন তারপর চালিয়ে যান৷

  • এবং পরিশেষে যদি সংখ্যাটি 2-এর বেশি হয়, তবে এটি 1 নয়, তাই সর্বাধিক মৌলিক গুণনীয়কটি পান৷

আরো ভালো ধারণা পেতে অ্যালগরিদম দেখি।

অ্যালগরিদম

getMaxPrimeFactors(n)

begin
   while n is divisible by 2, do
      max := 2
   n := n / 2
   done
   for i := 3 to √𝑛, increase i by 2, do
      while n is divisible by i, do
         max := i
         n := n / i
      done
   done
   if n > 2, then
      max := n
   end if
end

উদাহরণ

#include<stdio.h>
#include<math.h>
int getMaxPrimeFactor(int n) {
   int i, max = -1;
   while(n % 2 == 0) {
      max = 2;
      n = n/2; //reduce n by dividing this by 2
   }
   for(i = 3; i <= sqrt(n); i=i+2){ //i will increase by 2, to get
      only odd numbers
      while(n % i == 0) {
         max = i;
         n = n/i;
      }
   }
   if(n > 2) {
      max = n;
   }
   return max;
}
main() {
   int n;
   printf("Enter a number: ");
   scanf("%d", &n);
   printf("Max prime factor: %d", getMaxPrimeFactor(n));
}

আউটপুট

Enter a number: 24024
Max prime factor: 13

  1. পাইথন প্রোগ্রামে প্রাইম নম্বর খোঁজার বিভিন্ন পদ্ধতি

  2. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  3. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  4. একটি সংখ্যার বৃহত্তম মৌলিক ফ্যাক্টর খুঁজে বের করার জন্য পাইথন প্রোগ্রাম