এই বিভাগে, আমরা দেখব কিভাবে আমরা একটি সংখ্যার সমস্ত মৌলিক গুণনীয়ক একটি কার্যকরী উপায়ে পেতে পারি। n =1092 বলে একটি সংখ্যা আছে, আমাদের এর সমস্ত মৌলিক গুণনীয়ক পেতে হবে। 1092-এর মৌলিক গুণনীয়কগুলি হল 2, 2, 3, 7, 13৷ এই সমস্যাটি সমাধান করার জন্য, আমাদের এই নিয়মটি অনুসরণ করতে হবে -
-
যখন সংখ্যাটি 2 দ্বারা বিভাজ্য হয়, তখন 2 প্রিন্ট করুন এবং সংখ্যাটিকে 2 দ্বারা বারবার ভাগ করুন৷
-
এখন সংখ্যাটি বিজোড় হতে হবে। এখন সংখ্যাটির 3 থেকে শুরু করে বর্গমূল পর্যন্ত, সংখ্যাটি যদি বর্তমান মান দ্বারা বিভাজ্য হয়, তাহলে প্রিন্ট করুন এবং বর্তমান সংখ্যা দিয়ে ভাগ করে সংখ্যা পরিবর্তন করুন তারপর চালিয়ে যান।
আরো ভালো ধারণা পেতে অ্যালগরিদম দেখি।
অ্যালগরিদম
printPrimeFactors(n)
begin while n is divisible by 2, do print 2 n := n / 2 done for i := 3 to √𝑛, increase i by 2, do while n is divisible by i, do print i n := n / i done done if n > 2, then print n end if end
উদাহরণ
#include<stdio.h> #include<math.h> void primeFactors(int n) { int i; while(n % 2 == 0) { printf("%d, ", 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) { printf("%d, ", i); n = n/i; } } if(n > 2) { printf("%d, ", n); } } main() { int n; printf("Enter a number: "); scanf("%d", &n); primeFactors(n); }
আউটপুট
Enter a number: 24024 2, 2, 2, 3, 7, 11, 13,