文章

20

粉丝

0

获赞

69

访问

2.2k

头像
最长连续因子 题解:测试数据有问题,可以偷AC
P1020 贵州大学机试题
发布于2026年2月7日 10:57
阅读数 290

//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...
登录查看完整内容


登录后发布评论

1 条评论
admin
2026年2月7日 11:25

感谢反馈,已增加hack数据~

赞(0)
回复给: