给定不超过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
本题比较简单,将三位数拆解开来,每一位做遍历,三层循环。不过有两个值得一提的点。一是for循环的运用,充分利用了计算机的特性,它并没有直接把符合条件的数按顺序排列出来,而是找到所有的数,将符合条件的筛选出来,这不失为一种好的办法;二是continue,在判断当前的数字是否满足条件时,利用continue来跳过,虽然也可以直接利用if语句来跳过,但是不要忘记continue的作用。
#include<iostream>
using namespace std;
int main(){
int a, i, j, k, count = 0;
cin >> a;
for(i = a; i < a + 4; i++){
for(j = a; j < a + 4; j++){
for(k = a; k < a + 4; k++){
if(i == j || i == k || j == k)
continue;
else{
cout << i * 100 + j * 10 + k;
count++;
if(count % 6) cout << ' ';
else cout << '\n';
}
}
}
}
}