---
title: "ソフトウェアライセンスの最小購入費用とは？制約条件とセット購入の考え方【基本情報技術者試験】"
description: "ソフトウェアライセンスの購入費用を最小にする問題を、必須条件を先に満たし、残りをセット価格で比較する手順として整理します。必要数を少し超えても安い組合せがあること、単価だけで判断しないことをFE科目A向けに解説します。"
last_modified_at: "2026-08-24"
canonical_url: "https://stemtazoo.github.io/fe/software-license-minimum-cost/"
section: "fe"
---

## まず結論

ソフトウェアライセンスの最小購入費用を求める問題では、**最初に必須条件を満たし、その後で残りの必要数を最も安い組合せでそろえる**と考えます。

科目Aでは、次の順番で処理すると判断しやすくなります。

```text
① 必須条件を先に満たす
↓
② 残りの必要ライセンス数を出す
↓
③ セット購入と単品購入の総額を比較する
↓
④ 必要数を少し超えても安ければ、その組合せを選ぶ
```

重要なのは、**必要数ぴったりが最安とは限らない**ことです。

## 直感的な説明

例えば、18台のPCで同じソフトウェアを使うとします。

購入方法が次の3種類あるとします。

| 購入方法 | 使用権 | マニュアル | 価格 |
|---|---:|---:|---:|
| パッケージ版 | 1 | 1 | 15,000円 |
| 1ライセンス | 1 | 0 | 12,000円 |
| 5ライセンス | 5 | 0 | 45,000円 |

さらに、4部署それぞれにマニュアルが最低1冊必要だとします。

この場合、最初にマニュアル4冊を確保する必要があります。

```text
パッケージ版を4本購入
→ ライセンス4
→ マニュアル4
→ 60,000円
```

残りは14ライセンスです。

ここで、1ライセンスを4本買うと48,000円ですが、5ライセンスを1セット買うと45,000円です。

```text
4ライセンス必要

1ライセンス × 4
→ 48,000円

5ライセンス × 1
→ 45,000円
```

1ライセンス余っても、5ライセンスの方が安くなります。

つまり、**「余らないこと」より「条件を満たしたうえで総額が安いこと」**を優先します。

## 定義・仕組み

### まず制約条件を探す

この種の問題では、価格比較の前に、自由に選べない条件を探します。

例えば、

- 各部署にマニュアルが1冊必要
- 全PC分の使用権が必要
- ある購入方法でしかマニュアルが付かない
- セット単位でしか購入できない

といった条件です。

```text
価格を計算する
```

より先に、

```text
絶対に満たす必要がある条件は何か
```

を確認します。

### 残りの必要数を出す

必須条件を満たした購入分には、ライセンスが含まれることがあります。

そのため、全体の必要数から差し引きます。

```text
全体で必要なライセンス数
-
必須条件を満たすために購入したライセンス数
=
残りの必要数
```

この「残り」を、最も安い方法で埋めます。

### 単価ではなくセット全体で比較する

5ライセンス45,000円なら、1ライセンス当たりでは9,000円です。

```text
45,000 ÷ 5 = 9,000円
```

1ライセンス12,000円より安いため、多く必要ならセット購入が有利です。

ただし、最後の端数では、単価だけでなく実際の購入総額を比較します。

```text
残り4ライセンス

1ライセンス × 4
→ 48,000円

5ライセンス × 1
→ 45,000円
```

この場合は、1つ余っても5ライセンスセットの方が安くなります。

このテーマは、ソフトウェアライセンスや調達条件を読み取る科目Aの計算問題と関係します。ソフトウェアを組織で適正に利用するための管理については、[ソフトウェア管理ガイドラインとは？違法コピー防止とライセンス管理](https://stemtazoo.github.io/fe/software-management-guideline/)で整理しています。

## 科目Aでどう出る？

科目Aでは、複数の購入方法と条件が表で示され、最小費用を求める形で出題されることがあります。

### 判断手順

```text
① 必要な総ライセンス数を確認
② マニュアルなどの必須条件を確認
③ 必須条件のために購入する数を決める
④ 残りのライセンス数を計算
⑤ 単品とセットの総額を比較
⑥ 必要数以上になっても安ければ採用
```

### 端数で迷ったとき

例えば残り4ライセンスなら、

```text
4 × 単品価格
```

と

```text
5ライセンスセット1つの価格
```

を直接比べます。

「4つ必要だから4つ買う」と決めつけないことが大切です。

## どんな場面で使う？

この考え方は、ソフトウェアライセンスだけでなく、次のような問題にも使えます。

- まとめ買いと単品購入の比較
- パック販売の最小費用
- 最低購入数がある調達
- セットに付属品が含まれる購入
- 必要数を少し超えてもよい最適化問題

共通するのは、**条件を満たすことと、必要数ぴったりにすることは別**という点です。

## よくある誤解・混同

### 必要数ぴったりに買うのが最安

誤りです。

セット価格が安い場合は、必要数を少し超えても総額が安くなることがあります。

```text
必要4

単品4個
→ 48,000円

5個セット
→ 45,000円
```

この場合、1個余ってもセット購入が最安です。

### 1ライセンス当たりの単価だけ見ればよい

単価比較は有効ですが、最後は実際に購入するセット数を含めた総額で判断します。

特に端数がある場合は、

```text
残り何個必要か
↓
単品で買う総額
セットで買う総額
```

を比較します。

### いきなり一番安いライセンスを大量購入する

マニュアルなどの必須条件がある場合、それでは条件を満たせないことがあります。

```text
価格が安い
≠
条件を満たす
```

なので、必須条件を先に確認します。

### 余りが出る購入方法は不正解

問題文に「必要数を超えて購入してはいけない」と書かれていなければ、余りが出ても総額が安い購入方法を選べます。

試験では、ここをひっかけとして使うことがあります。

## まとめ（試験直前用）

- まず、マニュアルなどの必須条件を確認する
- 必須条件を満たした購入分を、必要ライセンス数から引く
- 残りは、単品とセットの総額を比較する
- 必要数ぴったりが最安とは限らない
- 「少し余るが安い」組合せも候補にする

> **必須条件を先に固定し、残りは必要数を超えても最安の組合せを選ぶ。**
