java常见的逻辑练习题有1234 四个数,能组成多少个不同且无重复数字的三位数 ,并且是多少?

题目:有1234 四个数,能组成多少个不同且无重复数字的三位数 ,并且是多少?

分析:首先题目要求的是组成三位数,所以我们可以先将所有的三位数拿出来,用for循环遍历所有三位数,即:

第一步

for (int i = 100; i <= 999; i++) {
{

其次,我们需要去判断所有的三位数都是由1、2、3、4组成,所以我们需要拿到这个三位数每位数上确切的数字是多少,在上面for循环内拿到即可,即:

第二步

			int ge = i%10;
			int shi = i/10%10;
			int bai = i/100%100;

我们已经拿到了所有的三位数和他们个位、十位、百位上面的确切数组,接下来我们只要判断由1、2、3、4四位数构成的三位数即可,因为题目要求有多少个,所以可以设一个int sum = 0;来记录一共有多少个,符合条件的数就sum++;即:

第三步

if (ge <= 4 & shi <= 4 & bai <= 4 & ge >= 1 & shi >= 1 & bai >=1) {
				if (ge != shi & ge != bai & shi != bai) {
					System.out.println(i);
					sum++;
				}
			}

此题解决完毕,最终结果为:

结果

public class Demo {
	public static void main(String[] args) {
		int sum = 0;
		for (int i = 100; i <= 999; i++) {
			int ge = i%10;
			int shi = i/10%10;
			int bai = i/100%100;
			if (ge <= 4 & shi <= 4 & bai <= 4 & ge >= 1 & shi >= 1 & bai >=1) {
				if (ge != shi & ge != bai & shi != bai) {
					System.out.println(i);
					sum++;
				}
			}
		}
		System.out.println("能组成" + sum + "个不同且无重读数字的三位数");
	}
}

在控制台显示的结果为:

123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
能组成24个不同且无重读数字的三位数
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值