A1096

xiaoxiao2021-02-28  57

#include <cstdio> #include <cmath> #include <algorithm> typedef long long ll; int main(){ ll n; scanf("%lld",&n); ll sqr=(ll)sqrt(1.0*n),ansLen=0,ansI=0;//ansLen最长长度,ansI第一个整数 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){ ansI=i; ansLen=j-i+1; } j++; } } if(ansLen==0){ printf("1\n%lld",n); }else{ printf("%lld\n",ansLen); for(ll i=0;i<ansLen;i++){ printf("%lld",ansI+i);//注意这里为输出ansI,ansI+ansLen if(i<ansLen-1){ printf("*"); } } } return 0; }

注意点:

1.用long long不用int是因为防止中间乘积(temp*j)超过int范围

转载请注明原文地址: https://www.6miu.com/read-2625690.html

最新回复(0)