- 注意这里是其因数中含有的连续因子,而不是完全由连续因子构成
- 因为是乘法,原数对于连续因子乘积的模是等于0的,即原数可以由这部份乘积乘于另一部份整数得到
- 注意连续因子部分肯定是在 sqrt(num) 内的
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int num;
int main()
{
cin >> num;
int len = 0, begin = 0, max = sqrt(num) + 1;
for(int i = 2; i <= max; ++i)
{
int tmp = 1, j = i;
for(j = i; j <= max; ++j)
{
tmp *= j;
if(num % tmp != 0) break;
}
if(j - i > len)
{
len = j - i;
begin = i;
}
}
if(begin == 0)
cout << "1" << endl << num;
else
{
cout << len << endl << begin;
for(int i = 1; i < len; i++)
cout << "*" << begin+i;
}
return 0;
}