タイトル : 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させる方法でした データベースでループ処理は、確かに効率が悪いですね…。 再帰クエリが使えないデータベースだったのでしょうか。 |