要求:输入一个数,输出它的因子相乘形式。如10
输出
- -
| |
- * -
| |
- -
笔试的时候不知道是要求把这些都打印出来,还是计算出因子就OK,反正我打印出来了。也没调试完就交卷了。打印出来有点蠢蠢的。
代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
#include<stack>
using namespace std;
bool isPrime(int n)
{
if(n<=1) return false;
if(n==2||n==3||n==5) return true;
for(int i=2;i<=n/2;i++)
{
if(n%i==0) return false;
}
return true;
}
vector<int> Prime(int n)
{
vector<int> res;
if(isPrime(n))
res.push_back(n);
else
{
int ttt=n;
for(int i=2;i<=n;i++)
{
if((n%i==0)&&isPrime(i))
{
res.push_back(i);
n=n/i;
i=1;
}
}
}
return res;
}
vector<vector<char>> PrintDigit(int n)
{
vector<vector<