tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: 組み合わせ合計検索 つづき
投稿日: 2023/08/16(Wed) 16:27
投稿者魔界の仮面弁士
> Dim 値一覧3 As Integer() = {36, 40, 45, 51, 55, 65, 69, 76, 82, 98, 106, 108, 115, 116, 118, 119, 123, 129, 133, 139, 148, 159, 163, 165, 184, 186}
> 探索(1230, 値一覧3)
>
> For 設定値 = 設定値 To 設定値 - ★ Step -1
>
> ★の値を20に設定すると  Console.WriteLine("抽出できませんでした。") となり
> ★の値を50に設定すると  Console.WriteLine("合計値:{0} 詳細値:{1}", 結果.Sum(), String.Join(", ", 結果.Select(Function(寸法) CStr(寸法)))) でてきます。

No.12102 のロジックなんですよね?

手元の環境だと近似値ではなく
設定値:1230 合計値:1230 詳細値:36, 40, 45, 51, 55, 65, 69, 76, 82, 98, 106, 108, 115, 119, 165
というそのものズバリの結果が得られたので、★の値は無関係のはずなのですが。



> ★の値を20にした場合でも
> 例えば 186+184+165+163+159+148+106+115 = 1226なので
> 正常終了させたいです。

まぁ、それも回答の一つではあるのですが、
> > > サンプル 23/02/12 10:52 No.12102 についてです。
のロジックでは
 36+40+45+51+55+65+69+76+82+98+106+108+118+129+148 = 1226
の方が検出されると思います。

ちなみに、その「値一覧3」を対象にする場合の組み合わせは
 合計が 1226 になる組み合わせは 72,832 通り
 合計が 1230 になる組み合わせは 73,221 通り
になると思います。(a+b と b+a を同じ組み合わせとして扱った場合)


ひとまず、★の値を 0 にして、1220〜1250 の範囲で試してみましたが、
No.12102 のコードで、下記の組み合わせを検出できています。
 For n = 1220 To 1250
  探索(n, 値一覧3)
 Next

 1220 = 36+40+45+51+55+65+69+76+82+98+106+108+118+123+148
 1221 = 36+40+45+51+55+65+69+76+82+98+106+108+115+116+159
 1222 = 36+40+45+51+55+65+69+76+82+98+106+108+119+133+139
 1223 = 36+40+45+51+55+65+69+76+82+98+106+108+115+118+159
 1224 = 36+40+45+51+55+65+69+76+82+98+106+108+115+119+159
 1225 = 36+40+45+51+55+65+69+76+82+98+106+108+115+116+163
 1226 = 36+40+45+51+55+65+69+76+82+98+106+108+118+129+148
 1227 = 36+40+45+51+55+65+69+76+82+98+106+108+115+116+165
 1228 = 36+40+45+51+55+65+69+76+82+98+106+108+115+119+163
 1229 = 36+40+45+51+55+65+69+76+82+98+106+108+115+118+165
 1230 = 36+40+45+51+55+65+69+76+82+98+106+108+115+119+165
 1231 = 36+40+45+51+55+65+69+76+82+98+106+108+116+119+165
 1232 = 36+40+45+51+55+65+69+76+82+98+106+108+115+123+163
 1233 = 36+40+45+51+55+65+69+76+82+98+106+108+115+139+148
 1234 = 36+40+45+51+55+65+69+76+82+98+106+108+115+123+165
 1235 = 36+40+45+51+55+65+69+76+82+98+106+108+116+123+165
 1236 = 36+40+45+51+55+65+69+76+82+98+106+108+118+139+148
 1237 = 36+40+45+51+55+65+69+76+82+98+106+108+118+123+165
 1238 = 36+40+45+51+55+65+69+76+82+98+106+108+115+129+163
 1239 = 36+40+45+51+55+65+69+76+82+98+106+108+116+129+163
 1240 = 36+40+45+51+55+65+69+76+82+98+106+108+115+129+165
 1241 = 36+40+45+51+55+65+69+76+82+98+106+108+116+129+165
 1242 = 36+40+45+51+55+65+69+76+82+98+106+108+115+133+163
 1243 = 36+40+45+51+55+65+69+76+82+98+106+108+116+133+163
 1244 = 36+40+45+51+55+65+69+76+82+98+106+108+115+133+165
 1245 = 36+40+45+51+55+65+69+76+82+98+106+108+116+133+165
 1246 = 36+40+45+51+55+65+69+76+82+98+106+108+115+116+184
 1247 = 36+40+45+51+55+65+69+76+82+98+106+108+118+133+165
 1248 = 36+40+45+51+55+65+69+76+82+98+106+108+115+116+186
 1249 = 36+40+45+51+55+65+69+76+82+98+106+108+115+119+184
 1250 = 36+40+45+51+55+65+69+76+82+98+106+108+115+118+186

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。