#include<iostream>
#include<cmath>
#include<string>
#include<string.h>
using namespace std;
int n;
int deal(int x)
{
int ans=0;
int n1=n;
while(n1!=1)
{
if (n1%x==0){n1=n1/x;x++;ans++;}
else{return ans;}
}
return (ans);
}
int main()
{
int end,start;
cin>>n;
if (n>3){end=(int)sqrt(1.0*n);}
else {end=n;}
int max=0;
for(int i=2;i<=end;i++)
{
int result;
result=deal(i);
if (result>max)
{
start=i;
max=result;
}
}
if (max==0)
{
start=n;
max=1;
}
cout<<max<<endl;
cout<<start;
for(int i=start+1;i<start+max;i++)
{
cout<<"*"<<i;
}
system("pause");
return 0;
#include<cmath>
#include<string>
#include<string.h>
using namespace std;
int n;
int deal(int x)
{
int ans=0;
int n1=n;
while(n1!=1)
{
if (n1%x==0){n1=n1/x;x++;ans++;}
else{return ans;}
}
return (ans);
}
int main()
{
int end,start;
cin>>n;
if (n>3){end=(int)sqrt(1.0*n);}
else {end=n;}
int max=0;
for(int i=2;i<=end;i++)
{
int result;
result=deal(i);
if (result>max)
{
start=i;
max=result;
}
}
if (max==0)
{
start=n;
max=1;
}
cout<<max<<endl;
cout<<start;
for(int i=start+1;i<start+max;i++)
{
cout<<"*"<<i;
}
system("pause");
return 0;
}
注意点:
1.4应该输出1 2;5应该输出 1 5