1. 程式人生 > >java常見的邏輯練習題有1234 四個數,能組成多少個不同且無重複數字的三位數 ,並且是多少?

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) {
				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) {
				if (ge != shi & ge != bai & shi != bai) {
					System.out.println(i);
					sum++;
				}
			}
		}
		System.out.println("能組成" + sum + "個不同且無重讀數字的三位數");
	}
}

在控制檯顯示的結果為:

102
103
104
120
123
124
130
132
134
140
142
143
201
203
204
210
213
214
230
231
234
240
241
243
301
302
304
310
312
314
320
321
324
340
341
342
401
402
403
410
412
413
420
421
423
430
431
432
能組成48個不同且無重讀數字的三位數