连续因子
程序员文章站
2022-03-13 21:25:55
...
//连续因子最长&最小
/*注:630 = 3 * 5 * 6 * 7,选的5,6,7也就是说选的连续因子的乘积还是这个数的约数*/
#include <bits/stdc++.h>
using namespace std;
long long n;
int main(){
ios::sync_with_stdio(0);
cin >> n;
int len = 1;
long long i,yz = n,j,sum;
for( i = 2; i <= sqrt(n); i++){
if(n % i == 0){
sum = i;
if(len == 1 && i < yz) yz = i;
for(j = i + 1;sum * j <= n;j++){
sum *= j;
// cout << i << " " << sum << endl;
if(n % j || n % sum) break;
if(len < j - i + 1){
len = j - i + 1;
yz = i;
}
}
}
}
cout << len << endl;
for(i = yz; i < yz + len; i++){
if(i != yz + len - 1)cout << i << "*";
else cout << i << endl;
}
return 0;
}
上一篇: c# 用ELMAH日志组件处理异常
下一篇: L1-006 连续因子