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

タイトル Re^7: 組み合わせ合計探索
投稿日: 2023/02/10(Fri) 17:12
投稿者魔界の仮面弁士
> > > > > ペアとは限りませんし、ひとつだけのデータで完了することもありません。
> 次のように検索した結果が1件の場合もあります。
ごめんなさい、まだ良くわかりません。

「ひとつだけのデータで完了することもあります」ではなく
「ひとつだけのデータで完了することもありません」なのですよね?


> 寸法に重複データはありますが
No12093 でいうところの『[数値] のリスト』が
[番号]と[寸法]のリストに置き換わった形ですね。

[番号]というのは、抜けの無い連番であり、
配列でいうところのインデックス(添字)のことですかね?
(下限値が 1 から始まる点は注意が必要ですが)


> 番号を重複して合計値を求めることはありません。
了解です。


であれば参考元 URL にあった手順と同様に、データを
寸法の昇順または降順に並び替えてから処理してみてはいかがですか?

たとえば降順とした場合、設定値 590 (つまり 570 以上 590 以下)ということは、
007:1000 などは絶対に使われないことが分かるので、探索回数を削ぎ落せますよね。

また、1 つ目の値として 006:500 が選択された場合、91 以上の値は
設定値を超えてしまうため、 2 つ目の値は 90 以下の値に限定することができます。


> 前回行った方法は必要なデータをいったんデータベースへ登録して
> データをselect文でloopさせる方法でした
データベースでループ処理は、確かに効率が悪いですね…。
再帰クエリが使えないデータベースだったのでしょうか。

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

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