AcWing 1586. 连续因子
原题链接
简单
作者:
向阳而生_J
,
2024-04-16 23:06:14
,
所有人可见
,
阅读 6
C++ 代码
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
vector<int> v1;
vector<int> v2;
void solve(){
int x;
scanf("%d",&x);
int t=x;
bool st=1;
for(int i=2;i<=sqrt(x)+1;i++){
for(int j=i;j<=sqrt(x)+1;j++){
if(t%j==0){
t/=j;
if(st==1){
v1.push_back(j);
}
else v2.push_back(j);
}
else{
if(!v1.empty()){
st=0;
}
if(v2.size()>v1.size()){
v1=v2;
}
v2.clear();
t=x;
break;
}
}
}
if(v1.empty()){
cout<<1<<endl;
cout<<x<<endl;
return;
}
cout<<v1.size()<<endl;
for(int i=0;i<v1.size();i++){
if(i==0) cout<<v1[i];
else cout<<"*"<<v1[i];
}
return;
}
int main(){
IOS
solve();
}