题意:
输入一个正整数,输出最长的连续因子。
思路:
暴力即可。
代码:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
int n;
int main() {
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
scanf("%d", &n);
int m = sqrt(1.0 * n);
int ma = 0;
int st = 0;
for (int i = 2; i <= m; i++) {
int cnt = 0;
int tmp = n;
int t = i;
while (tmp % t == 0) {
cnt++;
tmp /= t;
t++;
}
if (cnt > ma) {
ma = cnt;
st = i;
}
}
if (ma == 0) {
printf("1\n");
printf("%d\n", n);
} else {
printf("%d\n", ma);
printf("%d", st);
for (int i = 1; i < ma; i++) {
printf("*%d", st+i);
}
printf("\n");
}
return 0;
}