题目描述
枚举连续的 能否被整除 之后判断是不是最长的 正着枚举 序列会比较小
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int n;
int main()
{
scanf("%d", &n);
int ansI = 0, ansLen = 0;
for(int i = 2; i < n / i; i ++ )
{
int temp = 1, j = i;
while(1)
{
temp *= j;
if(n % temp != 0) break;
j ++;
}
if(j - i > ansLen)
{
ansI = i;
ansLen = j - i;
}
}
if(ansLen == 0) printf("1\n%d", n);
else
{
printf("%d\n", ansLen);
for(int i = 0; i < ansLen; i ++ )
{
printf("%d", ansI + i);
if(i < ansLen - 1) printf("*");
}
}
return 0;
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla