文章

2

粉丝

0

获赞

2

访问

233

头像
最长连续因子 题解:
P1020 贵州大学机试题
发布于2026年3月19日 16:08
阅读数 120

#include<iostream>
using namespace std;
#include <string>
#include <vector>
#include <map>
#include<algorithm>

void SaveToMap(vector<int> &temp,map<int,vector<int>> &MP,int &curMax){
	if (temp.empty()) return;
	MP.insert(pair<int,vector<int>>(temp.size(),temp));
	if (temp.size()>curMax) curMax=temp.size();
	temp.clear();
}


int main(){
	vector<int> result;
	int input_val;
	cin>>input_val;
	map<int,vector<int>> MP;
	int count=0;
	vector<int> temp;
	int curMax=0;
	for (int i=2;i<input_val;i++){
		if (input_val%i==0){
			temp.push_back(i);
		}else{
			SaveToMap(temp,MP,curMax);
		}
	}
	for (map<int,vector<int>>::iterator it=MP.begin();it!=MP.end();it++){
		if (it->first==curMax) {
			result = it->second;
			break;
		}
	}
	for (int i=0;i<result.size();i++){
		if (i>0) cout<<" ";
		cout <<result[i];
	}
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发