一、技术总结
- 这里面主要有
二、参考代码
#include<iostream>
#include<vector>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long LL;
//const int maxn = 1000000000;
//bool isPrime(int n){
// if(n <= 1) return false;
// int sqr = (int)sqrt(n);
// for(int i = 2; i <= sqr; i++){
// if(n % i == 0) return false;
// }
// return true;
//}
//
//int prime[maxn], pNum = 0;//prime用来存放所有素数
//bool p[maxn] = {0};//i如果为false表示为素数,如果为true表明不是素数
//void Find_Prime(){
// for(int i = 2; i < maxn; i++){
// if(p[i] == false){
// prime[pNum++] = i;
// for(int j = i + i; j < maxn; j += i){
// p[j] = true;
// }
// }
// }
//}
int main(){
LL n;
scanf("%lld", &n);
LL sqr = sqrt(n), ansI = 0, ansLen = 0;
for(LL i = 2; i <= sqr; i++){
LL temp = 1, j = i;
while(1){
temp *= j;
if(n % temp != 0) break;
if(j - i + 1 > ansLen){
ansLen = j - i + 1;
ansI = i;
}
j++;
}
}
if(ansLen == 0){
printf("1
%lld", n);
}else{
printf("%lld
", ansLen);
for(LL i = 0; i < ansLen; i++){
printf("%lld", ansI + i);
if(i < ansLen - 1){
printf("*");
}
}
}
return 0;
}