文章

76

粉丝

0

获赞

287

访问

14.8k

头像
最长连续因子 题解:
P1020 贵州大学机试题
发布于2026年2月6日 12:18
阅读数 210

#include<iostream>
#include<algorithm>

using namespace std;

vector<int> q;

void check(int x) {
	for (int i = 2; i <= x; i ++ ) {
		if (x % i == 0) q.push_back(i);
	}
	sort(q.begin(), q.end());
}

bool cmp(vector<int> a, vector<int> b) {
    return a.size() > b.size();
}

int main() {
	
	int n;
	cin >> n;
	
	check(n);
	
	if (q.size() == 1) {
	    cout << n << endl;
	    return 0;
	}
	
	vector<vector<int>> v;
	vector<int> m;

	for (int i = 0; i < q.size() - 1; i ++ ) {
	    if (q[i] + 1 == q[i + 1]) m.push_back(q[i]);
	    else {
			m.push_back(q[i]);
			v.push_back(m);
			m.clear();
		}
	}
	
	sort(v.begin(), v.end(), cmp);

	for (auto x : v[0]) {
	    cout << x << ' ';
	}
	
	return 0;
}
#include<iostream>
#include<algorithm>

using namespace std;

vector<int> q;

void check(int x) {
	for (int i = 2; i <= x; i ++...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发