7-16 求符合给定条件的整数集 (15 point(s))
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:
输入在一行中给出A。
输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输入样例:
2
输出样例:
234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543
思路:
先用三个循环将三位数进行存储到vector类型的变量中,在进行排序(可要可不要,循环中已经相当于排序好了)。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
vector<int> v;
cin >> n;
for(int i = n; i < n + 4; i++){
for(int j = n; j < n + 4; j++){
for(int k = n; k < n + 4; k++){
if(i == j || i == k || j == k) continue;
else v.push_back(i * 100 +j * 10 + k);
}
}
}
sort(v.begin(), v.end());
for(int i = 0; i < v.size(); i++){
cout << v[i];
if((i + 1) % 6 == 0 && i != 0) cout << "\n";
else cout << " ";
}
return 0;
}