#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long N;
long sum;
long start = 0, len = 0;//start 起始位置 len 最长连续因子的个数
cin >> N;
for (int i = 2; i < sqrt(N); i++)
{
sum = 1;
//最长连续因子的个数相乘要小于正整数 N
for (int j = i; sum*i<N; j++)
{
sum *= j;
//连续因子可以被N整除 且此时连续因子的长度大于之前的len,重新标记
if (N%sum==0 && j-i+1>len)
{
start = i;
len = j - i + 1;
}
}
}
if (start ==0)
{
start = N;
len = 1;
}
cout << len << endl;
for (int i = 0; i < len-1; i++)
{
cout << (start+i)<< "*";
}
cout << len + start - 1<<endl;
return 0;
}
PTA L1-006 连续因子 (20分) C++
最新推荐文章于 2023-11-07 11:55:41 发布