1. Linus_mi

    Posted

    Linus_mi
Changes in title
+複数の整数の合計が21になる組み合わせの算出
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,99 @@
+2~4つの整数の合計が特定の数になる数値の組み合わせを算出します。
+用途はごくごく限られると思いますが、手計算で行うと地味に時間がかかるので書いてみました。
+カウンタの数とwhile文のネストを変えれば変数の数の変化にも対応できます。
+
+```kotlin:main.kt
+fun main(args: Array<String>) {
+ //元数値作成
+ val aon= arrayListOf<Int>()
+
+ var i=0
+ while (i<=20){
+ aon.add(20-i)
+ i+=1
+ }
+
+
+ //組み合わせのカウンタ
+ var one = 0
+ var two = 0
+ var thr = 0
+ var fur = 0
+
+
+
+ //格納用
+ val answer_21 = arrayListOf<String>()
+ val answer_20 = arrayListOf<String>()
+ val answer_19 = arrayListOf<String>()
+
+
+
+ //組み合わせ調査開始
+ while(one <aon.count()){
+ two = one
+
+ while (two <aon.count()){
+ thr =two
+
+ while (thr <aon.count()){
+ fur = thr
+
+ while (fur<aon.count()){
+
+
+
+ if((aon[one]+aon[two]+aon[thr]+aon[fur])==21){
+
+ answer_21.add(aon[one].toString()+"_"+aon[two].toString()+"_"+aon[thr].toString()+"_"+aon[fur].toString())
+
+ }
+
+ if((aon[one]+aon[two]+aon[thr]+aon[fur])==20){
+
+ answer_20.add(aon[one].toString()+"_"+aon[two].toString()+"_"+aon[thr].toString()+"_"+aon[fur].toString())
+
+ }
+
+ if((aon[one]+aon[two]+aon[thr]+aon[fur])==19){
+
+ answer_19.add(aon[one].toString()+"_"+aon[two].toString()+"_"+aon[thr].toString()+"_"+aon[fur].toString())
+
+ }
+
+
+ fur +=1
+ }
+
+
+ thr +=1
+ }
+
+ two+=1
+ }
+
+ one+=1
+ }
+
+
+ //正解の出力
+ print("21になる組み合わせは・・・")
+ println(answer_21)
+
+ print("20になる組み合わせは・・・")
+ println(answer_20)
+
+ print("19になる組み合わせは・・・")
+ println(answer_19)
+
+
+}
+
+
+```
+
+```
+21になる組み合わせは・・・[20_1_0_0, 19_2_0_0, 19_1_1_0, 18_3_0_0, 18_2_1_0, 18_1_1_1, 17_4_0_0, 17_3_1_0, 17_2_2_0, 17_2_1_1, 16_5_0_0, 16_4_1_0, 16_3_2_0, 16_3_1_1, 16_2_2_1, 15_6_0_0, 15_5_1_0, 15_4_2_0, 15_4_1_1, 15_3_3_0, 15_3_2_1, 15_2_2_2, 14_7_0_0, 14_6_1_0, 14_5_2_0, 14_5_1_1, 14_4_3_0, 14_4_2_1, 14_3_3_1, 14_3_2_2, 13_8_0_0, 13_7_1_0, 13_6_2_0, 13_6_1_1, 13_5_3_0, 13_5_2_1, 13_4_4_0, 13_4_3_1, 13_4_2_2, 13_3_3_2, 12_9_0_0, 12_8_1_0, 12_7_2_0, 12_7_1_1, 12_6_3_0, 12_6_2_1, 12_5_4_0, 12_5_3_1, 12_5_2_2, 12_4_4_1, 12_4_3_2, 12_3_3_3, 11_10_0_0, 11_9_1_0, 11_8_2_0, 11_8_1_1, 11_7_3_0, 11_7_2_1, 11_6_4_0, 11_6_3_1, 11_6_2_2, 11_5_5_0, 11_5_4_1, 11_5_3_2, 11_4_4_2, 11_4_3_3, 10_10_1_0, 10_9_2_0, 10_9_1_1, 10_8_3_0, 10_8_2_1, 10_7_4_0, 10_7_3_1, 10_7_2_2, 10_6_5_0, 10_6_4_1, 10_6_3_2, 10_5_5_1, 10_5_4_2, 10_5_3_3, 10_4_4_3, 9_9_3_0, 9_9_2_1, 9_8_4_0, 9_8_3_1, 9_8_2_2, 9_7_5_0, 9_7_4_1, 9_7_3_2, 9_6_6_0, 9_6_5_1, 9_6_4_2, 9_6_3_3, 9_5_5_2, 9_5_4_3, 9_4_4_4, 8_8_5_0, 8_8_4_1, 8_8_3_2, 8_7_6_0, 8_7_5_1, 8_7_4_2, 8_7_3_3, 8_6_6_1, 8_6_5_2, 8_6_4_3, 8_5_5_3, 8_5_4_4, 7_7_7_0, 7_7_6_1, 7_7_5_2, 7_7_4_3, 7_6_6_2, 7_6_5_3, 7_6_4_4, 7_5_5_4, 6_6_6_3, 6_6_5_4, 6_5_5_5]
+20になる組み合わせは・・・[20_0_0_0, 19_1_0_0, 18_2_0_0, 18_1_1_0, 17_3_0_0, 17_2_1_0, 17_1_1_1, 16_4_0_0, 16_3_1_0, 16_2_2_0, 16_2_1_1, 15_5_0_0, 15_4_1_0, 15_3_2_0, 15_3_1_1, 15_2_2_1, 14_6_0_0, 14_5_1_0, 14_4_2_0, 14_4_1_1, 14_3_3_0, 14_3_2_1, 14_2_2_2, 13_7_0_0, 13_6_1_0, 13_5_2_0, 13_5_1_1, 13_4_3_0, 13_4_2_1, 13_3_3_1, 13_3_2_2, 12_8_0_0, 12_7_1_0, 12_6_2_0, 12_6_1_1, 12_5_3_0, 12_5_2_1, 12_4_4_0, 12_4_3_1, 12_4_2_2, 12_3_3_2, 11_9_0_0, 11_8_1_0, 11_7_2_0, 11_7_1_1, 11_6_3_0, 11_6_2_1, 11_5_4_0, 11_5_3_1, 11_5_2_2, 11_4_4_1, 11_4_3_2, 11_3_3_3, 10_10_0_0, 10_9_1_0, 10_8_2_0, 10_8_1_1, 10_7_3_0, 10_7_2_1, 10_6_4_0, 10_6_3_1, 10_6_2_2, 10_5_5_0, 10_5_4_1, 10_5_3_2, 10_4_4_2, 10_4_3_3, 9_9_2_0, 9_9_1_1, 9_8_3_0, 9_8_2_1, 9_7_4_0, 9_7_3_1, 9_7_2_2, 9_6_5_0, 9_6_4_1, 9_6_3_2, 9_5_5_1, 9_5_4_2, 9_5_3_3, 9_4_4_3, 8_8_4_0, 8_8_3_1, 8_8_2_2, 8_7_5_0, 8_7_4_1, 8_7_3_2, 8_6_6_0, 8_6_5_1, 8_6_4_2, 8_6_3_3, 8_5_5_2, 8_5_4_3, 8_4_4_4, 7_7_6_0, 7_7_5_1, 7_7_4_2, 7_7_3_3, 7_6_6_1, 7_6_5_2, 7_6_4_3, 7_5_5_3, 7_5_4_4, 6_6_6_2, 6_6_5_3, 6_6_4_4, 6_5_5_4, 5_5_5_5]
+19になる組み合わせは・・・[19_0_0_0, 18_1_0_0, 17_2_0_0, 17_1_1_0, 16_3_0_0, 16_2_1_0, 16_1_1_1, 15_4_0_0, 15_3_1_0, 15_2_2_0, 15_2_1_1, 14_5_0_0, 14_4_1_0, 14_3_2_0, 14_3_1_1, 14_2_2_1, 13_6_0_0, 13_5_1_0, 13_4_2_0, 13_4_1_1, 13_3_3_0, 13_3_2_1, 13_2_2_2, 12_7_0_0, 12_6_1_0, 12_5_2_0, 12_5_1_1, 12_4_3_0, 12_4_2_1, 12_3_3_1, 12_3_2_2, 11_8_0_0, 11_7_1_0, 11_6_2_0, 11_6_1_1, 11_5_3_0, 11_5_2_1, 11_4_4_0, 11_4_3_1, 11_4_2_2, 11_3_3_2, 10_9_0_0, 10_8_1_0, 10_7_2_0, 10_7_1_1, 10_6_3_0, 10_6_2_1, 10_5_4_0, 10_5_3_1, 10_5_2_2, 10_4_4_1, 10_4_3_2, 10_3_3_3, 9_9_1_0, 9_8_2_0, 9_8_1_1, 9_7_3_0, 9_7_2_1, 9_6_4_0, 9_6_3_1, 9_6_2_2, 9_5_5_0, 9_5_4_1, 9_5_3_2, 9_4_4_2, 9_4_3_3, 8_8_3_0, 8_8_2_1, 8_7_4_0, 8_7_3_1, 8_7_2_2, 8_6_5_0, 8_6_4_1, 8_6_3_2, 8_5_5_1, 8_5_4_2, 8_5_3_3, 8_4_4_3, 7_7_5_0, 7_7_4_1, 7_7_3_2, 7_6_6_0, 7_6_5_1, 7_6_4_2, 7_6_3_3, 7_5_5_2, 7_5_4_3, 7_4_4_4, 6_6_6_1, 6_6_5_2, 6_6_4_3, 6_5_5_3, 6_5_4_4, 5_5_5_4]
+```