View Code of Problem 91

#include<iostream>
#include<vector>

using namespace std;

vector<int>prime;
int isprime[1000]={0};
void init()
{
    isprime[0]=1;
    isprime[1]=1;
    for(int i=2;i<1000;i++)
    {
        if(isprime[i]==1) continue;
        prime.push_back(i);
        for(int j=i;j<1000;j+=i)
            isprime[j]=1;
    }
}

int main()
{
    init();
    int n;
    cin>>n;
    vector<int>result;
    int t=n;
    for(int i=0;i<prime.size()&&prime[i]<n;i++)
    {
        int factor=prime[i];
        while(t%factor==0)
        {
            result.push_back(factor);
            t/=factor;
        }
    }
    cout<<n<<"=";
    for(int i=0;i<result.size()-1;i++)
        cout<<result[i]<<"*";
    cout<<result[result.size()-1];
}

Double click to view unformatted code.


Back to problem 91