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;
}