天天看点

HDU - 1164

HDU - 1164

埃迪的兴趣非常广泛,最近他对素数感兴趣。埃迪发现所有的数都可以被分成素数的乘法,但他不会写程序,所以埃迪只好请聪明的你帮他,他请你写一个能把数分成素数乘因子的程序。

输入

输入每行包含一个数字1<x<=65535,表示集合的元素数。

输出

您必须在输出中为每个条目打印一行,其中包含对上一个问题的答案。

Sample Input

11

9412

Sample Output

11

2213*181

#include<iostream>
#include<string>
using namespace std;
bool issushu(int x)
{
	for (int i = 2; i <= x / 2; i++)//int i=1错了,i==1任何X都能整除它.
	{
		if (x % i == 0)
			return false;
	}
	return true;
}
int main()
{
	int n;
	while (cin >> n)
	{
		if (issushu(n))cout << n << '\n';
		else
		{
			while (n != 1)
			{
				for (int i = 2; i <= n; i++)
				{
					if (n % i == 0)
					{
						if (issushu(i))
						{
							n /= i; cout << i;
							if (n != 1)cout << "*";
							break;
						}
					}
				}


			}cout << '\n';
		}
	}

}

           

继续阅读