#include<stdio.h>
int begin, end, length, maxbegin, maxend, maxlength;
int main(){
long long num;
long long i;
bool flag = false;
scanf("%lld", &num);
maxbegin = maxend = maxlength = 0;
begin = end = length = 0;
long long n = num;
int count = 0;
n = num;
int j;
for (i = 2; i*i <= n; i++){
length = 0;
num = n;
for (j = i; j <= num;j++)
if (num%j == 0){
num /= j;
length++;
}
else break;
begin = i;
end = j-1;
if (length > maxlength){
maxbegin = begin;
maxend = end;
maxlength = length;
}
}
if (maxlength > 0){
printf("%d\n", maxlength);
maxend = maxlength + maxbegin - 1;
for (i = maxbegin; i <= maxend; i++){
if (i == maxend)
printf("%d\n", i);
else printf("%d*", i);
}
}
else printf("1\n%lld\n", num);
return 0;
}
PAT 1096. Consecutive Factors (20)
最新推荐文章于 2021-04-28 19:20:58 发布