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