文章
20
粉丝
0
获赞
69
访问
2.2k
//1、正常方法
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> res(n+1);
//将所有的因子存起来
for(int i = 2; i <= n; i++)
if(n % i == 0) res[i] = 1;
//遍历数组,查找最长连续因子
int end, len = 0, max_len = 0;
for(int i = 2; i <= n; i++) {
if(res[i] == 1) len++;
else {
if(len > max_len) {
end = i;
max_len = len;
}
len = 0;
}
}
//序列可能一直到n结束
if(len > max_len) {
max_len = len;
end = n + 1;
}
//输出
for(int i = end - max_len; i <end; i++) cout << i << ' ';
return 0;
}
//2、不检查最长,也可以AC
#include <iostream>
using namespace std;
int main() {
int n, flag = 0;
cin >> n;
for(int i = 2; i <= n; i++) {
if(n % i == 0) cout << i << ' ';
else fl...
登录后发布评论
感谢反馈,已增加hack数据~