回答編集履歴

3

分かりにくい回答だったので書き直し

2018/09/02 08:36

投稿

opyon
opyon

スコア1009

test CHANGED
@@ -1,36 +1,52 @@
1
- 考え方だけ参考まで
1
+ なるべくわかりやすいようにString[]配列とfor文だけで作ろうとししたが無理したので書き直しました
2
2
 
3
- まずは2文字で全ての組み合わせを作りその中から適合するものだけを出力するプログラムを作ります。
4
-
5
- それが正常に動作したら文字数をn文字でも動作すように作り変えます。
3
+ 出来としても入力がn文字で不定なので恐らく冗長になと思います。
6
4
 
7
5
 
8
6
 
9
- "u,d"
7
+ [全組合せを表示する再帰関数](http://chakotay.jugem.jp/?eid=612)や@katoyさんの回答などを参考に素直に再帰処理を使ったほうが簡潔です。
10
-
11
-
12
-
13
- uuu
14
-
15
- uud true
16
-
17
- udd
18
-
19
- udu
20
-
21
- duu
22
-
23
- dud
24
8
 
25
9
 
26
10
 
27
11
  考えてもどうしてもわからない時にこっそり見てください。
28
12
 
29
- 以下参考コード
13
+ 以下回答コード
14
+
15
+
16
+
17
+ ###出力結果
18
+
19
+ uuud
20
+
21
+ uudu
22
+
23
+ uudd
24
+
25
+ uudc
26
+
27
+ uuds
28
+
29
+ uudt
30
+
31
+ uudb
32
+
33
+ duud
34
+
35
+ cuud
36
+
37
+ suud
38
+
39
+ tuud
40
+
41
+ buud
42
+
43
+
30
44
 
31
45
 
32
46
 
33
47
  ```java
48
+
49
+
34
50
 
35
51
  public class memo_qa144373 {
36
52
 
@@ -38,47 +54,49 @@
38
54
 
39
55
  // "uud"という並びが含まれる文字列を全て列挙するプログラムを作成してください
40
56
 
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
41
65
  public static void main(String[] args) {
42
66
 
43
67
 
44
68
 
45
69
  String[] s = "u,d,c,s,t,b".split(",");
46
70
 
47
- String str = "";
71
+ String t = "uud";
48
72
 
49
- String target = "uud";
50
-
51
- int n = s.length;
73
+ int n = 4;
52
74
 
53
75
 
54
76
 
55
- for (int i1 = 0; i1 < n; i1++) {
77
+ permutation(n,t,s, "");
56
78
 
57
- for (int i2 = 0; i2 < n; i2++) {
58
79
 
59
- for (int i3 = 0; i3 < n; i3++) {
60
80
 
61
- for (int i4 = 0; i4 < n; i4++) {
81
+ }
62
82
 
63
- for (int i5 = 0; i5 < n; i5++) {
64
83
 
65
- for (int i6 = 0; i6 < n; i6++) {
66
84
 
67
- str = s[i1] + s[i2] + s[i3] + s[i4] + s[i5] + s[i6];
85
+ private static void permutation(int n,String t,String[] str, String ans) {
68
86
 
69
- if (str.contains(target)) {
87
+ if (ans.length() == n) {
70
88
 
71
- System.out.print(str + " ");
89
+ if (ans.contains(t)) {
72
90
 
73
- }
91
+ System.out.println(ans);
74
92
 
75
- }
93
+ }
76
94
 
77
- }
95
+ } else {
78
96
 
79
- }
97
+ for (int i = 0; i < str.length; i++) {
80
98
 
81
- }
99
+ permutation(n,t,str, ans + str[i]);
82
100
 
83
101
  }
84
102
 
@@ -86,12 +104,6 @@
86
104
 
87
105
  }
88
106
 
89
- }
107
+
90
108
 
91
109
  ```
92
-
93
-
94
-
95
- ###出力結果
96
-
97
- uuuuud uuuudu uuuudd uuuudc uuuuds uuuudt uuuudb uuuduu uuudud uuuduc uuudus uuudut uuudub uuuddu uuuddd uuuddc uuudds uuuddt uuuddb uuudcu uuudcd uuudcc uuudcs uuudct uuudcb uuudsu uuudsd uuudsc uuudss uuudst uuudsb uuudtu uuudtd uuudtc uuudts uuudtt uuudtb uuudbu uuudbd uuudbc uuudbs uuudbt uuudbb uuduuu uuduud uuduuc uuduus uuduut uuduub uududu uududd uududc uududs uududt uududb uuducu uuducd uuducc uuducs uuduct uuducb uudusu uudusd uudusc uuduss uudust uudusb uudutu uudutd uudutc uuduts uudutt uudutb uudubu uudubd uudubc uudubs uudubt uudubb uudduu uuddud uudduc uuddus uuddut uuddub uudddu uudddd uudddc uuddds uudddt uudddb uuddcu uuddcd uuddcc uuddcs uuddct uuddcb uuddsu uuddsd uuddsc uuddss uuddst uuddsb uuddtu uuddtd uuddtc uuddts uuddtt uuddtb uuddbu uuddbd uuddbc uuddbs uuddbt uuddbb uudcuu uudcud uudcuc uudcus uudcut uudcub uudcdu uudcdd uudcdc uudcds uudcdt uudcdb uudccu uudccd uudccc uudccs uudcct uudccb uudcsu uudcsd uudcsc uudcss uudcst uudcsb uudctu uudctd uudctc uudcts uudctt uudctb uudcbu uudcbd uudcbc uudcbs uudcbt uudcbb uudsuu uudsud uudsuc uudsus uudsut uudsub uudsdu uudsdd uudsdc uudsds uudsdt uudsdb uudscu uudscd uudscc uudscs uudsct uudscb uudssu uudssd uudssc uudsss uudsst uudssb uudstu uudstd uudstc uudsts uudstt uudstb uudsbu uudsbd uudsbc uudsbs uudsbt uudsbb uudtuu uudtud uudtuc uudtus uudtut uudtub uudtdu uudtdd uudtdc uudtds uudtdt uudtdb uudtcu uudtcd uudtcc uudtcs uudtct uudtcb uudtsu uudtsd uudtsc uudtss uudtst uudtsb uudttu uudttd uudttc uudtts uudttt uudttb uudtbu uudtbd uudtbc uudtbs uudtbt uudtbb uudbuu uudbud uudbuc uudbus uudbut uudbub uudbdu uudbdd uudbdc uudbds uudbdt uudbdb uudbcu uudbcd uudbcc uudbcs uudbct uudbcb uudbsu uudbsd uudbsc uudbss uudbst uudbsb uudbtu uudbtd uudbtc uudbts uudbtt uudbtb uudbbu uudbbd uudbbc uudbbs uudbbt uudbbb uucuud uusuud uutuud uubuud uduuud uduudu uduudd uduudc uduuds uduudt uduudb udduud udcuud udsuud udtuud udbuud ucuuud ucuudu ucuudd ucuudc ucuuds ucuudt ucuudb ucduud uccuud ucsuud uctuud ucbuud usuuud usuudu usuudd usuudc usuuds usuudt usuudb usduud uscuud ussuud ustuud usbuud utuuud utuudu utuudd utuudc utuuds utuudt utuudb utduud utcuud utsuud uttuud utbuud ubuuud ubuudu ubuudd ubuudc ubuuds ubuudt ubuudb ubduud ubcuud ubsuud ubtuud ubbuud duuuud duuudu duuudd duuudc duuuds duuudt duuudb duuduu duudud duuduc duudus duudut duudub duuddu duuddd duuddc duudds duuddt duuddb duudcu duudcd duudcc duudcs duudct duudcb duudsu duudsd duudsc duudss duudst duudsb duudtu duudtd duudtc duudts duudtt duudtb duudbu duudbd duudbc duudbs duudbt duudbb duduud ducuud dusuud dutuud dubuud dduuud dduudu dduudd dduudc dduuds dduudt dduudb ddduud ddcuud ddsuud ddtuud ddbuud dcuuud dcuudu dcuudd dcuudc dcuuds dcuudt dcuudb dcduud dccuud dcsuud dctuud dcbuud dsuuud dsuudu dsuudd dsuudc dsuuds dsuudt dsuudb dsduud dscuud dssuud dstuud dsbuud dtuuud dtuudu dtuudd dtuudc dtuuds dtuudt dtuudb dtduud dtcuud dtsuud dttuud dtbuud dbuuud dbuudu dbuudd dbuudc dbuuds dbuudt dbuudb dbduud dbcuud dbsuud dbtuud dbbuud cuuuud cuuudu cuuudd cuuudc cuuuds cuuudt cuuudb cuuduu cuudud cuuduc cuudus cuudut cuudub cuuddu cuuddd cuuddc cuudds cuuddt cuuddb cuudcu cuudcd cuudcc cuudcs cuudct cuudcb cuudsu cuudsd cuudsc cuudss cuudst cuudsb cuudtu cuudtd cuudtc cuudts cuudtt cuudtb cuudbu cuudbd cuudbc cuudbs cuudbt cuudbb cuduud cucuud cusuud cutuud cubuud cduuud cduudu cduudd cduudc cduuds cduudt cduudb cdduud cdcuud cdsuud cdtuud cdbuud ccuuud ccuudu ccuudd ccuudc ccuuds ccuudt ccuudb ccduud cccuud ccsuud cctuud ccbuud csuuud csuudu csuudd csuudc csuuds csuudt csuudb csduud cscuud cssuud cstuud csbuud ctuuud ctuudu ctuudd ctuudc ctuuds ctuudt ctuudb ctduud ctcuud ctsuud cttuud ctbuud cbuuud cbuudu cbuudd cbuudc cbuuds cbuudt cbuudb cbduud cbcuud cbsuud cbtuud cbbuud suuuud suuudu suuudd suuudc suuuds suuudt suuudb suuduu suudud suuduc suudus suudut suudub suuddu suuddd suuddc suudds suuddt suuddb suudcu suudcd suudcc suudcs suudct suudcb suudsu suudsd suudsc suudss suudst suudsb suudtu suudtd suudtc suudts suudtt suudtb suudbu suudbd suudbc suudbs suudbt suudbb suduud sucuud susuud sutuud subuud sduuud sduudu sduudd sduudc sduuds sduudt sduudb sdduud sdcuud sdsuud sdtuud sdbuud scuuud scuudu scuudd scuudc scuuds scuudt scuudb scduud sccuud scsuud sctuud scbuud ssuuud ssuudu ssuudd ssuudc ssuuds ssuudt ssuudb ssduud sscuud sssuud sstuud ssbuud stuuud stuudu stuudd stuudc stuuds stuudt stuudb stduud stcuud stsuud sttuud stbuud sbuuud sbuudu sbuudd sbuudc sbuuds sbuudt sbuudb sbduud sbcuud sbsuud sbtuud sbbuud tuuuud tuuudu tuuudd tuuudc tuuuds tuuudt tuuudb tuuduu tuudud tuuduc tuudus tuudut tuudub tuuddu tuuddd tuuddc tuudds tuuddt tuuddb tuudcu tuudcd tuudcc tuudcs tuudct tuudcb tuudsu tuudsd tuudsc tuudss tuudst tuudsb tuudtu tuudtd tuudtc tuudts tuudtt tuudtb tuudbu tuudbd tuudbc tuudbs tuudbt tuudbb tuduud tucuud tusuud tutuud tubuud tduuud tduudu tduudd tduudc tduuds tduudt tduudb tdduud tdcuud tdsuud tdtuud tdbuud tcuuud tcuudu tcuudd tcuudc tcuuds tcuudt tcuudb tcduud tccuud tcsuud tctuud tcbuud tsuuud tsuudu tsuudd tsuudc tsuuds tsuudt tsuudb tsduud tscuud tssuud tstuud tsbuud ttuuud ttuudu ttuudd ttuudc ttuuds ttuudt ttuudb ttduud ttcuud ttsuud tttuud ttbuud tbuuud tbuudu tbuudd tbuudc tbuuds tbuudt tbuudb tbduud tbcuud tbsuud tbtuud tbbuud buuuud buuudu buuudd buuudc buuuds buuudt buuudb buuduu buudud buuduc buudus buudut buudub buuddu buuddd buuddc buudds buuddt buuddb buudcu buudcd buudcc buudcs buudct buudcb buudsu buudsd buudsc buudss buudst buudsb buudtu buudtd buudtc buudts buudtt buudtb buudbu buudbd buudbc buudbs buudbt buudbb buduud bucuud busuud butuud bubuud bduuud bduudu bduudd bduudc bduuds bduudt bduudb bdduud bdcuud bdsuud bdtuud bdbuud bcuuud bcuudu bcuudd bcuudc bcuuds bcuudt bcuudb bcduud bccuud bcsuud bctuud bcbuud bsuuud bsuudu bsuudd bsuudc bsuuds bsuudt bsuudb bsduud bscuud bssuud bstuud bsbuud btuuud btuudu btuudd btuudc btuuds btuudt btuudb btduud btcuud btsuud bttuud btbuud bbuuud bbuudu bbuudd bbuudc bbuuds bbuudt bbuudb bbduud bbcuud bbsuud bbtuud bbbuud

2

誤字訂正

2018/09/02 08:36

投稿

opyon
opyon

スコア1009

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  考えてもどうしてもわからない時にこっそり見てください。
28
28
 
29
- 以下回答コード
29
+ 以下参考コード
30
30
 
31
31
 
32
32
 

1

回答コード追加

2018/09/02 04:29

投稿

opyon
opyon

スコア1009

test CHANGED
@@ -21,3 +21,77 @@
21
21
  duu
22
22
 
23
23
  dud
24
+
25
+
26
+
27
+ 考えてもどうしてもわからない時にこっそり見てください。
28
+
29
+ 以下回答コード
30
+
31
+
32
+
33
+ ```java
34
+
35
+ public class memo_qa144373 {
36
+
37
+ // 3、6種類のアルファベット "u,d,c,s,t,b" から成るn文字の文字列のうち、
38
+
39
+ // "uud"という並びが含まれる文字列を全て列挙するプログラムを作成してください
40
+
41
+ public static void main(String[] args) {
42
+
43
+
44
+
45
+ String[] s = "u,d,c,s,t,b".split(",");
46
+
47
+ String str = "";
48
+
49
+ String target = "uud";
50
+
51
+ int n = s.length;
52
+
53
+
54
+
55
+ for (int i1 = 0; i1 < n; i1++) {
56
+
57
+ for (int i2 = 0; i2 < n; i2++) {
58
+
59
+ for (int i3 = 0; i3 < n; i3++) {
60
+
61
+ for (int i4 = 0; i4 < n; i4++) {
62
+
63
+ for (int i5 = 0; i5 < n; i5++) {
64
+
65
+ for (int i6 = 0; i6 < n; i6++) {
66
+
67
+ str = s[i1] + s[i2] + s[i3] + s[i4] + s[i5] + s[i6];
68
+
69
+ if (str.contains(target)) {
70
+
71
+ System.out.print(str + " ");
72
+
73
+ }
74
+
75
+ }
76
+
77
+ }
78
+
79
+ }
80
+
81
+ }
82
+
83
+ }
84
+
85
+ }
86
+
87
+ }
88
+
89
+ }
90
+
91
+ ```
92
+
93
+
94
+
95
+ ###出力結果
96
+
97
+ uuuuud uuuudu uuuudd uuuudc uuuuds uuuudt uuuudb uuuduu uuudud uuuduc uuudus uuudut uuudub uuuddu uuuddd uuuddc uuudds uuuddt uuuddb uuudcu uuudcd uuudcc uuudcs uuudct uuudcb uuudsu uuudsd uuudsc uuudss uuudst uuudsb uuudtu uuudtd uuudtc uuudts uuudtt uuudtb uuudbu uuudbd uuudbc uuudbs uuudbt uuudbb uuduuu uuduud uuduuc uuduus uuduut uuduub uududu uududd uududc uududs uududt uududb uuducu uuducd uuducc uuducs uuduct uuducb uudusu uudusd uudusc uuduss uudust uudusb uudutu uudutd uudutc uuduts uudutt uudutb uudubu uudubd uudubc uudubs uudubt uudubb uudduu uuddud uudduc uuddus uuddut uuddub uudddu uudddd uudddc uuddds uudddt uudddb uuddcu uuddcd uuddcc uuddcs uuddct uuddcb uuddsu uuddsd uuddsc uuddss uuddst uuddsb uuddtu uuddtd uuddtc uuddts uuddtt uuddtb uuddbu uuddbd uuddbc uuddbs uuddbt uuddbb uudcuu uudcud uudcuc uudcus uudcut uudcub uudcdu uudcdd uudcdc uudcds uudcdt uudcdb uudccu uudccd uudccc uudccs uudcct uudccb uudcsu uudcsd uudcsc uudcss uudcst uudcsb uudctu uudctd uudctc uudcts uudctt uudctb uudcbu uudcbd uudcbc uudcbs uudcbt uudcbb uudsuu uudsud uudsuc uudsus uudsut uudsub uudsdu uudsdd uudsdc uudsds uudsdt uudsdb uudscu uudscd uudscc uudscs uudsct uudscb uudssu uudssd uudssc uudsss uudsst uudssb uudstu uudstd uudstc uudsts uudstt uudstb uudsbu uudsbd uudsbc uudsbs uudsbt uudsbb uudtuu uudtud uudtuc uudtus uudtut uudtub uudtdu uudtdd uudtdc uudtds uudtdt uudtdb uudtcu uudtcd uudtcc uudtcs uudtct uudtcb uudtsu uudtsd uudtsc uudtss uudtst uudtsb uudttu uudttd uudttc uudtts uudttt uudttb uudtbu uudtbd uudtbc uudtbs uudtbt uudtbb uudbuu uudbud uudbuc uudbus uudbut uudbub uudbdu uudbdd uudbdc uudbds uudbdt uudbdb uudbcu uudbcd uudbcc uudbcs uudbct uudbcb uudbsu uudbsd uudbsc uudbss uudbst uudbsb uudbtu uudbtd uudbtc uudbts uudbtt uudbtb uudbbu uudbbd uudbbc uudbbs uudbbt uudbbb uucuud uusuud uutuud uubuud uduuud uduudu uduudd uduudc uduuds uduudt uduudb udduud udcuud udsuud udtuud udbuud ucuuud ucuudu ucuudd ucuudc ucuuds ucuudt ucuudb ucduud uccuud ucsuud uctuud ucbuud usuuud usuudu usuudd usuudc usuuds usuudt usuudb usduud uscuud ussuud ustuud usbuud utuuud utuudu utuudd utuudc utuuds utuudt utuudb utduud utcuud utsuud uttuud utbuud ubuuud ubuudu ubuudd ubuudc ubuuds ubuudt ubuudb ubduud ubcuud ubsuud ubtuud ubbuud duuuud duuudu duuudd duuudc duuuds duuudt duuudb duuduu duudud duuduc duudus duudut duudub duuddu duuddd duuddc duudds duuddt duuddb duudcu duudcd duudcc duudcs duudct duudcb duudsu duudsd duudsc duudss duudst duudsb duudtu duudtd duudtc duudts duudtt duudtb duudbu duudbd duudbc duudbs duudbt duudbb duduud ducuud dusuud dutuud dubuud dduuud dduudu dduudd dduudc dduuds dduudt dduudb ddduud ddcuud ddsuud ddtuud ddbuud dcuuud dcuudu dcuudd dcuudc dcuuds dcuudt dcuudb dcduud dccuud dcsuud dctuud dcbuud dsuuud dsuudu dsuudd dsuudc dsuuds dsuudt dsuudb dsduud dscuud dssuud dstuud dsbuud dtuuud dtuudu dtuudd dtuudc dtuuds dtuudt dtuudb dtduud dtcuud dtsuud dttuud dtbuud dbuuud dbuudu dbuudd dbuudc dbuuds dbuudt dbuudb dbduud dbcuud dbsuud dbtuud dbbuud cuuuud cuuudu cuuudd cuuudc cuuuds cuuudt cuuudb cuuduu cuudud cuuduc cuudus cuudut cuudub cuuddu cuuddd cuuddc cuudds cuuddt cuuddb cuudcu cuudcd cuudcc cuudcs cuudct cuudcb cuudsu cuudsd cuudsc cuudss cuudst cuudsb cuudtu cuudtd cuudtc cuudts cuudtt cuudtb cuudbu cuudbd cuudbc cuudbs cuudbt cuudbb cuduud cucuud cusuud cutuud cubuud cduuud cduudu cduudd cduudc cduuds cduudt cduudb cdduud cdcuud cdsuud cdtuud cdbuud ccuuud ccuudu ccuudd ccuudc ccuuds ccuudt ccuudb ccduud cccuud ccsuud cctuud ccbuud csuuud csuudu csuudd csuudc csuuds csuudt csuudb csduud cscuud cssuud cstuud csbuud ctuuud ctuudu ctuudd ctuudc ctuuds ctuudt ctuudb ctduud ctcuud ctsuud cttuud ctbuud cbuuud cbuudu cbuudd cbuudc cbuuds cbuudt cbuudb cbduud cbcuud cbsuud cbtuud cbbuud suuuud suuudu suuudd suuudc suuuds suuudt suuudb suuduu suudud suuduc suudus suudut suudub suuddu suuddd suuddc suudds suuddt suuddb suudcu suudcd suudcc suudcs suudct suudcb suudsu suudsd suudsc suudss suudst suudsb suudtu suudtd suudtc suudts suudtt suudtb suudbu suudbd suudbc suudbs suudbt suudbb suduud sucuud susuud sutuud subuud sduuud sduudu sduudd sduudc sduuds sduudt sduudb sdduud sdcuud sdsuud sdtuud sdbuud scuuud scuudu scuudd scuudc scuuds scuudt scuudb scduud sccuud scsuud sctuud scbuud ssuuud ssuudu ssuudd ssuudc ssuuds ssuudt ssuudb ssduud sscuud sssuud sstuud ssbuud stuuud stuudu stuudd stuudc stuuds stuudt stuudb stduud stcuud stsuud sttuud stbuud sbuuud sbuudu sbuudd sbuudc sbuuds sbuudt sbuudb sbduud sbcuud sbsuud sbtuud sbbuud tuuuud tuuudu tuuudd tuuudc tuuuds tuuudt tuuudb tuuduu tuudud tuuduc tuudus tuudut tuudub tuuddu tuuddd tuuddc tuudds tuuddt tuuddb tuudcu tuudcd tuudcc tuudcs tuudct tuudcb tuudsu tuudsd tuudsc tuudss tuudst tuudsb tuudtu tuudtd tuudtc tuudts tuudtt tuudtb tuudbu tuudbd tuudbc tuudbs tuudbt tuudbb tuduud tucuud tusuud tutuud tubuud tduuud tduudu tduudd tduudc tduuds tduudt tduudb tdduud tdcuud tdsuud tdtuud tdbuud tcuuud tcuudu tcuudd tcuudc tcuuds tcuudt tcuudb tcduud tccuud tcsuud tctuud tcbuud tsuuud tsuudu tsuudd tsuudc tsuuds tsuudt tsuudb tsduud tscuud tssuud tstuud tsbuud ttuuud ttuudu ttuudd ttuudc ttuuds ttuudt ttuudb ttduud ttcuud ttsuud tttuud ttbuud tbuuud tbuudu tbuudd tbuudc tbuuds tbuudt tbuudb tbduud tbcuud tbsuud tbtuud tbbuud buuuud buuudu buuudd buuudc buuuds buuudt buuudb buuduu buudud buuduc buudus buudut buudub buuddu buuddd buuddc buudds buuddt buuddb buudcu buudcd buudcc buudcs buudct buudcb buudsu buudsd buudsc buudss buudst buudsb buudtu buudtd buudtc buudts buudtt buudtb buudbu buudbd buudbc buudbs buudbt buudbb buduud bucuud busuud butuud bubuud bduuud bduudu bduudd bduudc bduuds bduudt bduudb bdduud bdcuud bdsuud bdtuud bdbuud bcuuud bcuudu bcuudd bcuudc bcuuds bcuudt bcuudb bcduud bccuud bcsuud bctuud bcbuud bsuuud bsuudu bsuudd bsuudc bsuuds bsuudt bsuudb bsduud bscuud bssuud bstuud bsbuud btuuud btuudu btuudd btuudc btuuds btuudt btuudb btduud btcuud btsuud bttuud btbuud bbuuud bbuudu bbuudd bbuudc bbuuds bbuudt bbuudb bbduud bbcuud bbsuud bbtuud bbbuud