View Code of Problem 91

#include<bits/stdc++.h>
using namespace std;
bool isprime(int n)
{
	if(n <= 1)
		return false;
	int s = (int)sqrt(n * 1.0);
	for(int i = 2; i < s; i++)
	{
		if(n % i == 0)
			return false;
	}
	return true;
}

int main()
{
	int a[20];
	memset(a, 0, sizeof(a));
	int n, p;
	cin >> n;
	int t = n;
	for(int i = 2; i <= n; i++)
	{
		while(n % i == 0 && isprime(i))
		{
			n /= i;
			a[i]++;
		}
	}
	cout << t << "=";
	for(int i = 0; i < 20; i++)
	{
		if(a[i] != 0)
		{
			cout << i;
			p = i;
			a[i]--;
			break;	
		}
	}
	for(int i = p; i < 20; i++)
	{
		while(a[i]--)
		{
			cout << "*" << i;
		}
	}
		
	return 0;
}

Double click to view unformatted code.


Back to problem 91