商品の価格から、目標金額にちょうど合う買い方を自動で探します
オフ=各商品は0個か1個。オン=同じ価格の商品を複数個買う組み合わせも探します。
計算結果は目安です。実際の会計・レジ操作は店舗の仕様に従ってください。
レジ前で「あと少しでキリのいい金額になるのに、何を足せばいいんだろう」と悩んだ経験はありませんか。ポイントや金券を使い切りたいとき、送料無料までのラインに合わせたいときなど、手持ちの価格をいくつか組み合わせて合計をちょうど目標金額にしたい場面は意外と多くあります。このツールは、商品の価格をいくつか入力するだけで、合計がぴったり目標金額になる買い方の組み合わせを自動で探します。ぴったりが無い場合も、目標に一番近い合計と差額をあわせて表示するので、次にどう調整すればよいかの目安になります。
この計算は「部分和問題(サブセットサム問題)」という組み合わせ最適化の代表的な問題です。「各1個まで」は、選ぶ・選ばないの全パターン(価格n件なら2のn乗通り)を総当たりし、合計が目標と一致するものを探します。20件までに制限しているのは現実的な計算時間に収めるためです。「複数個OK」は、目標金額までの各整数が作れるかを表にして計算する動的計画法(DP)を使い、大きな目標金額にも対応します。
例1:価格100・200・300円、目標500円(各1個まで)
200円+300円=500円の1通りだけ見つかります。
例2:価格110・130・160円、目標401円(各1個まで)
3つ全部足しても400円までなのでぴったりは無く、「超えない範囲の最大=400円(差額1円)」が表示されます。
例3:価格110・160円、目標430円(複数個OK)
110円を1個・160円を2個(110+160×2=430円)でぴったり作れます。各1個まででは見つからない組み合わせも複数個OKなら見つかる好例です。
ポイント・金券の使い切り、送料無料ラインの調整、「ちょうど◯◯円」で買い物をまとめたいときなどに使えます。ぴったりが複数見つかった場合はどれを選んでも合計は同じで、手持ちの在庫に合わせやすいものを選べば十分です。「同じ商品を何個でも買ってよい」は同じ価格を複数個使える場面でオン、1種類につき1つまでの場面はオフのまま使ってください。見つからないときは、超えない最大・超える最小それぞれの差額を参考に、価格リストへ1件足して再計算すると見つかりやすくなります。
価格は最大20件、目標金額は1円〜100,000円までを想定し、0円以下や数値以外の入力は自動的に無視します。この計算はあくまで金額の組み合わせを機械的に探すもので、実際の割引条件やレジでの端数処理は考慮していません。最終的な金額は購入時の表示で必ずご確認ください。