分析
pair第一关键字是约数大小,第二关键字是本身。
然后n^2暴力求约数,最后排序就好。
处理一下输出格式。
上代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
pair<int,int> num;
vector<pair<int,int> >a;
int n,t[10001];
int factor(int x)
{
for(int i=2;i<=x;i++)
{
if(x%i==0) return i;
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>num.second;
num.first=factor(num.second);
a.push_back(num);
}
sort(a.begin(),a.end());
for(int i=0;i<n;i++)
{
if(a[i].first!=a[i-1].first)
{
if(i!=0) cout<<endl;
cout<<a[i].first<<' ';
}
cout<<a[i].second<<' ';
}
return 0;
}