7-16 求符合给定条件的整数集

给定不超过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';
				}
			}
		}
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值