题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
代码如下:
public class A {
public static void main(String[] args) {
boolean third = true;
boolean connect1 = true;
boolean connect2 = true;
boolean connect3 = true;
boolean connect4 = true;
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= 5; j++) {
connect1 = true;
if((i == 3 && j == 5) || (i == 5 && j == 3)) {
connect1 = false;
}
for(int k = 1; k <= 5; k++ ) {
third = true; connect2 = true;
if((k == 3 && j == 5) || (k == 5 && j == 3)) {
connect2 = false;
}
if(k == 4){
third = false;
}
for(int m = 1; m <= 5; m++ ) {
connect3 = true;
if((k == 3 && m == 5) || (k == 5 && m == 3)) {
connect3 = false;
}
for(int n = 1; n <= 5; n++ ) {
connect4 = true;
if((n == 3 && m == 5) || (n == 5 && m == 3)) {
connect4 = false;
}
if(third && connect1 && connect2 && connect3 && connect4) {
System.out.println(i + "" + j + "" + k + "" + m + "" + n + "");
}
}
}
}
}
}
}
}
打印的结果:
51152
51154
51155
51211
51212
51213
51214
51215
51221
51222
51223
51224
51225
51231
51232
51233
51234
51241
51242
51243
51244
51245
51251
51252
51254
51255
51311
51312
51313
51314
51315
51321
51322
51323
51324
51325
51331
51332
51333
51334
51341
51342
51343
51344
51345
51511
51512
51513
51514
51515
51521
51522
51523
51524
51525
51541
51542
51543
51544
51545
51551
51552
51554
51555
52111
52112
52113
52114
52115
52121
52122
52123
52124
52125
52131
52132
52133
52134
52141
52142
52143
52144
52145
52151
52152
52154
52155
52211
52212
52213
52214
52215
52221
52222
52223
52224
52225
52231
52232
52233
52234
52241
52242
52243
52244
52245
52251
52252
52254
52255
52311
52312
52313
52314
52315
52321
52322
52323
52324
52325
52331
52332
52333
52334
52341
52342
52343
52344
52345
52511
52512
52513
52514
52515
52521
52522
52523
52524
52525
52541
52542
52543
52544
52545
52551
52552
52554
52555
54111
54112
54113
54114
54115
54121
54122
54123
54124
54125
54131
54132
54133
54134
54141
54142
54143
54144
54145
54151
54152
54154
54155
54211
54212
54213
54214
54215
54221
54222
54223
54224
54225
54231
54232
54233
54234
54241
54242
54243
54244
54245
54251
54252
54254
54255
54311
54312
54313
54314
54315
54321
54322
54323
54324
54325
54331
54332
54333
54334
54341
54342
54343
54344
54345
54511
54512
54513
54514
54515
54521
54522
54523
54524
54525
54541
54542
54543
54544
54545
54551
54552
54554
54555
55111
55112
55113
55114
55115
55121
55122
55123
55124
55125
55131
55132
55133
55134
55141
55142
55143
55144
55145
55151
55152
55154
55155
55211
55212
55213
55214
55215
55221
55222
55223
55224
55225
55231
55232
55233
55234
55241
55242
55243
55244
55245
55251
55252
55254
55255
55511
55512
55513
55514
55515
55521
55522
55523
55524
55525
55541
55542
55543
55544
55545
55551
55552
55554
55555