মৌলিক উৎপাদকে বিশ্লেষণ (Prime Factorization)

Standard
একটি সংখ্যা n দেওয়া আছে। এটিকে মৌলিক উৎপাদকে বিশ্লেষণ করতে হবে।


/**Bismillahir Rahmanir Rahim.**/

#include <bits/stdc++.h>

using namespace std;

int ara[1000], x;

int primeFact(int n)
{
    while(n%2==0)
    {
        n/=2;
        ara[x++] = 2;
    }
    int limit = sqrt(n+1);
    for(int i=3; i<=limit && n>1; i+=2)
        while(n%i==0)
        {
            n/=i;
            ara[x++] = i;
        }
    if(n>2) ara[x++] = n;
    return x;
}
int main()
{
    int n=10000, till;

    till = primeFact(n);

    for(int i=0; i<till; i++)
        printf("%d ", ara[i]);
    return 0;
}