下面代码输出结果是()
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
struct stsort {
bool operator () (const int a, const int b) const {
if (gcd(30, a) < gcd(30, b)) {
return 1;
}
else if (gcd(30, a) == gcd(30, b)) {
return a < b;
}
else return 0;
}
};
int main() {
int n = 5;
priority_queue<int, vector<int>, stsort>q;
for (int i = 1; i <= n; ++i) {
q.push(i);
}
for (int i = 1; i <= n; ++i) {
printf("%d", q.top());
q.pop();
}
return 0;
} 
