View Code of Problem 91

#include<bits/stdc++.h>
using namespace std; 
bool isprime(int n)
{
	if(n <= 1)
		return false;
	int sq = (int)sqrt(n * 1.0);
	for(int i = 2; i <= sq; i++)
	{
		if(n % sq == 0)
			return false;
	}
	return true;
	
}
int main()
{
	int n, t;
	cin >> n;
	int num[20];
	int p = n;
	memset(num, 0, sizeof(num));
	for(int i = 2; i <= n; i++)
	{
		while(isprime(i) && n % i == 0)
		{
			num[i]++;
			n /= i;
		}
	}
	cout << p << "=";
	for(int i = 0; i < 20; i++)
	{
		if(num[i] != 0)
		{
			cout << i;
			num[i]--;
			t = i;
			break;
		}
	}
	for(int i = t; i < 20; i++)
	{
		while(num[i]--)
		{
			cout << '*' << i;
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 91