ac 代码
#include<iostream>
#include<cmath>
using namespace std;
int n,len,idx,max_len,start;
int main()
{
cin>>n;
// 因为最后只是输出的连续的因子 所以 循环一遍 找出他因子 再记录一下最长长度即可
for(int w=2;w<=sqrt(n);w++)
{
len = 0,idx = w;
int u = w;
// 测试点3 eg: 2*3*4 2*3 必须是24的因子 2*3*4 也必须是24的因子
while(n % u == 0 && n % idx == 0)
{
len++;
u++;
idx *= u;
}
if(len > max_len) // 如果合适 就 记录一个起点 和一个长度
{
start = w;
max_len = len;
}
}
// 打印输出
// 如果max_len = 0 说明这个数是质数 就输出1 和他本身
if(!max_len)
{
cout<<"1"<<endl<<n;;
}
else
{
cout<<max_len<<endl;
for(int u=1,w=start;u<=max_len;w++,u++)
{
if(u!=max_len) printf("%d*",w);
else printf("%d",w);
}
}
return 0;
}