天天看点

PTAL1-06

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<cmath>
using namespace std;
int main()
{
    int e;cin>>e;
    int flag=1;
    int tep=1,flag1=0,flag2,left,right;
    int sz=-1,maxx=-1;
    for(int i=2;i<=sqrt(e);i++)
    {
        int sum=i*tep;
        if(flag&&e%sum==0)
            {
                tep=i;
                left=flag1=i;
                right=flag2=i;
                flag=0;
                maxx=sz=1;
                continue;
            }
        if(e%sum==0)
        {
            if(tep==1)
            {flag1=i;
            //cout<<flag1<<endl;
            sz=0;}
                sz++;
                flag2=i;
            tep=sum;
            continue;
        }
        if(maxx<sz)
        {maxx=sz;
        left=flag1;right=flag2;}
        if(flag1!=0&&tep!=1)
        {i=flag1;//cout<<i<<endl;
        tep=1;}
    }
    if(maxx==-1)
    {
        cout<<"1"<<endl<<e<<endl;
    }
    else{
    cout<<maxx<<endl;
    for(int i=left;i<right;i++)
        cout<<i<<"*";
    cout<<right<<endl;
    }
}

           

https://blog.csdn.net/qq_37729102/article/details/80712640

pta