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';
		}
	}

}

上一篇:1248:Dungeon Master


下一篇:python-难以理解Majordomo API,pyzmq-mdp的工作方式