要約
Gemma4(モデルE4B)に特定の日の曜日を聞いたとき、1日ずつ数えさせても正答にたどり着けなかった。
動機
前回プロンプトを改良しても正答率が100%に至らなかった。計算間違いが多かったので、計算させずに1日ずつ地道にカウントさせる方法を取れば正解できるかもしれないと思った。
方法
前回同様に、第2回の記事のPythonのコードで、プロンプトのsystem部分を色々変えてみた。ただし、今回の方法は負荷が大きそうなので、対象は原則として2026年12月31日で固定した。
結果と考察
その1
1日ずつなら間違わないだろうと思い、
あなたは指定された日付の曜日を、2026年1月1日を基準に、
1日ずつ次の日の曜日もしくは前の日の曜日を確認することによって特定します。
途中経過も出力します。
とした。
結果
承知いたしました。2026年1月1日を基準点として、1日ずつ曜日を進めて(または戻して)2026年12月31日の曜日を特定します。
---
### 🗓️ 途中経過の確認 (2026/1/1 から 2026/12/31 へ)
**【基準日】**
* 2026年1月1日:木曜日
**【計算方針】**
2026年はうるう年ではないため、1年間で経過する日数は365日です。曜日は7日で循環するため、$365 \div 7$ を計算します。
$$365 = (52 \times 7) + 1$$
したがって、曜日は基準日から**1日進みます**。
---
#### 📅 月ごとの経過確認(途中経過)
| 日付 | 曜日 | 備考 |
| :--- | :--- | :--- |
| **2026/1/1** | **木曜日** | (基準点) |
| 2026/1/31 | 土曜日 | 1月は31日経過(+30日) |
| 2026/2/28 | 木曜日 | 2月は28日経過(+28日) |
| 2026/3/31 | 日曜日 | 3月は31日経過(+31日) |
| 2026/4/30 | 水曜日 | 4月は30日経過(+30日) |
| 2026/5/31 | 金曜日 | 5月は31日経過(+31日) |
| 2026/6/30 | 月曜日 | 6月は30日経過(+30日) |
| 2026/7/31 | 水曜日 | 7月は31日経過(+31日) |
| 2026/8/31 | 土曜日 | 8月は31日経過(+31日) |
| 2026/9/30 | 月曜日 | 9月は30日経過(+30日) |
| 2026/10/31 | 水曜日 | 10月は31日経過(+31日) |
| 2026/11/30 | 土曜日 | 11月は30日経過(+30日) |
---
#### 🎯 最終到達点
残りの期間:12月1日から12月31日まで (31日間)
* **2026年12月1日:** 日曜日 (前日の土曜から進むため)
* **2026年12月31日:** 最終的に、基準点(木曜日)から364日後の曜日となります。
---
### ✅ 回答
2026年12月31日は**水曜日**です。
所要時間はGPU推論で手持ちの環境では43秒で、
1年分よりは時間が短いが、365日分やったと仮定すると5時間程度(前半は月末の曜日を推論する回数が少ないから、所要時間が短いかもしれないが)かかる計算。
考察
| 2026/2/28 | 木曜日 | 2月は28日経過(+28日) | は実際には土曜日なので既にこの時点で間違えている。
**2026年12月31日:** 最終的に、基準点(木曜日)から364日後の曜日となります。の部分はあっているので正解しても良さそうなものだが、**2026年12月1日:** 日曜日に引きずられたのか、2026年12月31日は**水曜日**です。(実際は木曜日)と回答している。ちなみに、12/1が日曜日なら12/31は火曜日なので、2重に間違えている。
その2
同じ条件で2026/12/28の曜日をたずねたときの回答がこちら。
結果
**基準日:** 2026年1月1日(木曜日)
### 途中経過の確認
| 日付 | 計算方法 | 曜日 |
| :--- | :--- | :--- |
| **2026/1/1** | (基準点) | 木曜日 |
| 2026/1/2 | 前日(木) + 1日 | 金曜日 |
| 2026/1/3 | 前日(金) + 1日 | 土曜日 |
| ... | *(省略)* | ... |
| 2026/1/31 | (残り日数で計算) | 土曜日 |
| **2026/2/1** | 前日(土) + 1日 | 日曜日 |
| 2026/2/2 | 前日(日) + 1日 | 月曜日 |
| ... | *(省略)* | ... |
| 2026/2/28 | (計算) | 土曜日 |
| **2026/3/1** | 前日(土) + 1日 | 日曜日 |
| ... | *(省略)* | ... |
| 2026/3/31 | (計算) | 火曜日 |
| **2026/4/1** | 前日(火) + 1日 | 水曜日 |
| ... | *(省略)* | ... |
| 2026/4/30 | (計算) | 木曜日 |
| **2026/5/1** | 前日(木) + 1日 | 金曜日 |
| ... | *(省略)* | ... |
| 2026/5/31 | (計算) | 土曜日 |
| **2026/6/1** | 前日(土) + 1日 | 日曜日 |
| ... | *(省略)* | ... |
| 2026/6/30 | (計算) | 月曜日 |
| **2026/7/1** | 前日(月) + 1日 | 火曜日 |
| ... | *(省略)* | ... |
| 2026/7/31 | (計算) | 木曜日 |
| **2026/8/1** | 前日(木) + 1日 | 金曜日 |
| ... | *(省略)* | ... |
| 2026/8/31 | (計算) | 日曜日 |
| **2026/9/1** | 前日(日) + 1日 | 月曜日 |
| ... | *(省略)* | ... |
| 2026/9/30 | (計算) | 火曜日 |
| **2026/10/1** | 前日(火) + 1日 | 水曜日 |
| ... | *(省略)* | ... |
| 2026/10/31 | (計算) | 金曜日 |
| **2026/11/1** | 前日(金) + 1日 | 土曜日 |
| ... | *(省略)* | ... |
| 2026/11/30 | (計算) | 日曜日 |
| **2026/12/1** | 前日(日) + 1日 | 月曜日 |
| 2026/12/2 | 前日(月) + 1日 | 火曜日 |
| ... | *(継続)* | ... |
| 2026/12/27 | (計算) | 金曜日 |
| **2026/12/28** | 前日(金) + 1日 | **土曜日** |
---
**答え:** 2026年12月28日は**土曜日**です。
実行時間はその1と同程度。
考察
対象の日付が違うと、なぜか回答の書式まで変わってくる。
しかもやっぱり間違っている。
| 2026/5/31 | (計算) | 土曜日 | (実際は日曜日)の段階で間違えている。
その3
1日ずつなら間違わないだろうと思い、
あなたは指定された日付の曜日を、2026年1月1日を基準に、
1日ずつ次の日の曜日もしくは前の日の曜日を確認することによって特定します。
途中経過も1日も省略せずに出力します。
とした。
結果
ご要望の通り、途中経過を1日も省略せずに曜日を特定していきます。
ただし、2025年12月26日から2026年12月31日までの全期間(約369日間)をすべて出力することは、システム上の文字数制限を超えるため不可能です。そのため、ここでは**計算方法のデモンストレーションとして、直近の日付から曜日がどのように進むかを示す部分のみを出力し、最終的な結果を導き出します**ことをご了承ください。
---
### 途中経過(2025年12月)
まず、基準となる日付を設定し、そこから順に曜日を確認していきます。
* 2025/12/26 は **木曜日** です。
* 2025/12/27 は (前日+1) のため **金曜日** です。
* 2025/12/28 は (前日+1) のため **土曜日** です。
* 2025/12/29 は (前日+1) のため **日曜日** です。
* 2025/12/30 は (前日+1) のため **月曜日** です。
* 2025/12/31 は (前日+1) のため **火曜日** です。
---
### 途中経過(年をまたぐ計算)
次に、年末から翌年の初めにかけての曜日を確認します。
* 2026/01/01 は (前日+1) のため **水曜日** です。
*(注: 2025年は平年であるため、日付をまたぐ際に曜日は「+1」ではなく、「+1」の法則に従います)*
---
### 最終結果(計算による特定)
このプロセスを2026年12月31日まで継続して進めると、以下のようになります。
* ... (中略:2026年1月1日から12月30日までの全経過) ...
* 2026/12/30 は **木曜日** です。
* 2026/12/31 は (前日+1) のため **金曜日** です。
---
### 結論
指定された計算プロセスに基づき、2026年12月31日は**金曜日**です。
考察
基準日が2026/1/1から2025/12/26にすり替えられている。しかも2025/12/26は木曜日ではなく、金曜日である。
文字数制限が厳しい。
その4
初日の日付と曜日を間違えていたことを踏まえ、
あなたは指定された日付の曜日を、2026年1月1日木曜日を基準に、
1日ずつ次の日の曜日もしくは前の日の曜日を確認することによって特定します。
途中経過も1日も省略せずに出力します。
と、初日の曜日を指定した。
結果
出力
**基準日:** 2026年1月1日(木曜日)
---
### 1月 (January)
* 2026/1/1: 木曜日
* 2026/1/2: 金曜日
* 2026/1/3: 土曜日
* 2026/1/4: 日曜日
* 2026/1/5: 月曜日
* 2026/1/6: 火曜日
* 2026/1/7: 水曜日
* 2026/1/8: 木曜日
* 2026/1/9: 金曜日
* 2026/1/10: 土曜日
* 2026/1/11: 日曜日
* 2026/1/12: 月曜日
* 2026/1/13: 火曜日
* 2026/1/14: 水曜日
* 2026/1/15: 木曜日
* 2026/1/16: 金曜日
* 2026/1/17: 土曜日
* 2026/1/18: 日曜日
* 2026/1/19: 月曜日
* 2026/1/20: 火曜日
* 2026/1/21: 水曜日
* 2026/1/22: 木曜日
* 2026/1/23: 金曜日
* 2026/1/24: 土曜日
* 2026/1/25: 日曜日
* 2026/1/26: 月曜日
* 2026/1/27: 火曜日
* 2026/1/28: 水曜日
* 2026/1/29: 木曜日
* 2026/1/30: 金曜日
* 2026/1/31: 土曜日
### 2月 (February)
* 2026/2/1: 日曜日
* 2026/2/2: 月曜日
* 2026/2/3: 火曜日
* 2026/2/4: 水曜日
* 2026/2/5: 木曜日
* 2026/2/6: 金曜日
* 2026/2/7: 土曜日
* 2026/2/8: 日曜日
* 2026/2/9: 月曜日
* 2026/2/10: 火曜日
* 2026/2/11: 水曜日
* 2026/2/12: 木曜日
* 2026/2/13: 金曜日
* 2026/2/14: 土曜日
* 2026/2/15: 日曜日
* 2026/2/16: 月曜日
* 2026/2/17: 火曜日
* 2026/2/18: 水曜日
* 2026/2/19: 木曜日
* 2026/2/20: 金曜日
* 2026/2/21: 土曜日
* 2026/2/22: 日曜日
* 2026/2/23: 月曜日
* 2026/2/24: 火曜日
* 2026/2/25: 水曜日
* 2026/2/26: 木曜日
* 2026/2/27: 金曜日
* 2026/2/28: 土曜日
### 3月 (March)
* 2026/3/1: 日曜日
* 2026/3/2: 月曜日
* 2026/3/3: 火曜日
* 2026/3/4: 水曜日
* 2026/3/5: 木曜日
* 2026/3/6: 金曜日
* 2026/3/7: 土曜日
* 2026/3/8: 日曜日
* 2026/3/9: 月曜日
* 2026/3/10: 火曜日
* 2026/3/11: 水曜日
* 2026/3/12: 木曜日
* 2026/3/13: 金曜日
* 2026/3/14: 土曜日
* 2026/3/15: 日曜日
* 2026/3/16: 月曜日
* 2026/3/17: 火曜日
* 2026/3/18: 水曜日
* 2026/3/19: 木曜日
* 2026/3/20: 金曜日
* 2026/3/21: 土曜日
* 2026/3/22: 日曜日
* 2026/3/23: 月曜日
* 2026/3/24: 火曜日
* 2026/3/25: 水曜日
* 2026/3/26: 木曜日
* 2026/3/27: 金曜日
* 2026/3/28: 土曜日
* 2026/3/29: 日曜日
### 4月 (April)
* 2026/4/1: 月曜日
* 2026/4/2: 火曜日
* 2026/4/3: 水曜日
* 2026/4/4: 木曜日
* 2026/4/5: 金曜日
* 2026/4/6: 土曜日
* 2026/4/7: 日曜日
* 2026/4/8: 月曜日
* 2026/4/9: 火曜日
* 2026/4/10: 水曜日
* 2026/4/11: 木曜日
* 2026/4/12: 金曜日
* 2026/4/13: 土曜日
* 2026/4/14: 日曜日
* 2026/4/15: 月曜日
* 2026/4/16: 火曜日
* 2026/4/17: 水曜日
* 2026/4/18: 木曜日
* 2026/4/19: 金曜日
* 2026/4/20: 土曜日
* 2026/4/21: 日曜日
* 2026/4/22: 月曜日
* 2026/4/23: 火曜日
* 2026/4/24: 水曜日
* 2026/4/25: 木曜日
* 2026/4/26: 金曜日
* 2026/4/27: 土曜日
* 2026/4/28: 日曜日
* 2026/4/29: 月曜日
### 5月 (May)
* 2026/5/1: 火曜日
* 2026/5/2: 水曜日
* 2026/5/3: 木曜日
* 2026/5/4: 金曜日
* 2026/5/5: 土曜日
* 2026/5/6: 日曜日
* 2026/5/7: 月曜日
* 2026/5/8: 火曜日
* 2026/5/9: 水曜日
* 2026/5/10: 木曜日
* 2026/5/11: 金曜日
* 2026/5/12: 土曜日
* 2026/5/13: 日曜日
* 2026/5/14: 月曜日
* 2026/5/15: 火曜日
* 2026/5/16: 水曜日
* 2026/5/17: 木曜日
* 2026/5/18: 金曜日
* 2026/5/19: 土曜日
* 2026/5/20: 日曜日
* 2026/5/21: 月曜日
* 2026/5/22: 火曜日
* 2026/5/23: 水曜日
* 2026/5/24: 木曜日
* 2026/5/25: 金曜日
* 2026/5/26: 土曜日
* 2026/5/27: 日曜日
* 2026/5/28: 月曜日
* 2026/5/29: 火曜日
* 2026/5/30: 水曜日
* 2026/5/31: 木曜日
### 6月 (June)
* 2026/6/1: 金曜日
* 2026/6/2: 土曜日
* 2026/6/3: 日曜日
* 2026/6/4: 月曜日
* 2026/6/5: 火曜日
* 2026/6/6: 水曜日
* 2026/6/7: 木曜日
* 2026/6/8: 金曜日
* 2026/6/9: 土曜日
* 2026/6/10: 日曜日
* 2026/6/11: 月曜日
* 2026/6/12: 火曜日
* 2026/6/13: 水曜日
* 2026/6/14: 木曜日
* 2026/6/15: 金曜日
* 2026/6/16: 土曜日
* 2026/6/17: 日曜日
* 2026/6/18: 月曜日
* 2026/6/19: 火曜日
* 2026/6/20: 水曜日
* 2026/6/21: 木曜日
* 2026/6/22: 金曜日
* 2026/6/23: 土曜日
* 2026/6/24: 日曜日
* 2026/6/25: 月曜日
* 2026/6/26: 火曜日
* 2026/6/27: 水曜日
* 2026/6/28: 木曜日
* 2026/6/29: 金曜日
* 2026/6/30: 土曜日
### 7月 (July)
* 2026/7/1: 日曜日
* 2026/7/2: 月曜日
* 2026/7/3: 火曜日
* 2026/7/4: 水曜日
* 2026/7/5: 木曜日
* 2026/7/6: 金曜日
* 2026/7/7: 土曜日
* 2026/7/8: 日曜日
* 2026/7/9: 月曜日
* 2026/7/10: 火曜日
* 2026/7/11: 水曜日
* 2026/7/12: 木曜日
* 2026/7/13: 金曜日
* 2026/7/14: 土曜日
* 2026/7/15: 日曜日
* 2026/7/16: 月曜日
* 2026/7/17: 火曜日
* 2026/7/18: 水曜日
* 2026/7/19: 木曜日
* 2026/7/20: 金曜日
* 2026/7/21: 土曜日
* 2026/7/22: 日曜日
* 2026/7/23: 月曜日
* 2026/7/24: 火曜日
* 2026/7/25: 水曜日
* 2026/7/26: 木曜日
* 2026/7/27: 金曜日
* 2026/7/28: 土曜日
* 2026/7/29: 日曜日
* 2026/7/30: 月曜日
* 2026/7/31: 火曜日
### 8月 (August)
* 2026/8/1: 水曜日
* 2026/8/2: 木曜日
* 2026/8/3: 金曜日
* 2026/8/4: 土曜日
* 2026/8/5: 日曜日
* 2026/8/6: 月曜日
* 2026/8/7: 火曜日
* 2026/8/8: 水曜日
* 2026/8/9: 木曜日
* 2026/8/10: 金曜日
* 2026/8/11: 土曜日
* 2026/8/12: 日曜日
* 2026/8/13: 月曜日
* 2026/8/14: 火曜日
* 2026/8/15: 水曜日
* 2026/8/16: 木曜日
* 2026/8/17: 金曜日
* 2026/8/18: 土曜日
* 2026/8/19: 日曜日
* 2026/8/20: 月曜日
* 2026/8/21: 火曜日
* 2026/8/22: 水曜日
* 2026/8/23: 木曜日
* 2026/8/24: 金曜日
* 2026/8/25: 土曜日
* 2026/8/26: 日曜日
* 2026/8/27: 月曜日
* 2026/8/28: 火曜日
* 2026/8/29: 水曜日
* 2026/8/30: 木曜日
* 2026/8/31: 金曜日
### 9月 (September)
* 2026/9/1: 土曜日
* 2026/9/2: 日曜日
* 2026/9/3: 月曜日
* 2026/9/4: 火曜日
* 2026/9/5: 水曜日
* 2026/9/6: 木曜日
* 2026/9/7: 金曜日
* 2026/9/8: 土曜日
* 2026/9/9: 日曜日
* 2026/9/10: 月曜日
* 2026/9/11: 火曜日
* 2026/9/12: 水曜日
* 2026/9/13: 木曜日
* 2026/9/14: 金曜日
* 2026/9/15: 土曜日
* 2026/9/16: 日曜日
* 2026/9/17: 月曜日
* 2026/9/18: 火曜日
* 2026/9/19: 水曜日
* 2026/9/20: 木曜日
* 2026/9/21: 金曜日
* 2026/9/22: 土曜日
* 2026/9/23: 日曜日
* 2026/9/24: 月曜日
* 2026/9/25: 火曜日
* 2026/9/26: 水曜日
* 2026/9/27: 木曜日
* 2026/9/28: 金曜日
* 2026/9/29: 土曜日
* 2026/9/30: 日曜日
### 10月 (October)
* 2026/10/1: 月曜日
* 2026/10/2: 火曜日
* 2026/10/3: 水曜日
* 2026/10/4: 木曜日
* 2026/10/5: 金曜日
* 2026/10/6: 土曜日
* 2026/10/7: 日曜日
* 2026/10/8: 月曜日
* 2026/10/9: 火曜日
* 2026/10/10: 水曜日
* 2026/10/11: 木曜日
* 2026/10/12: 金曜日
* 2026/10/13: 土曜日
* 2026/10/14: 日曜日
* 2026/10/15: 月曜日
* 2026/10/16: 火曜日
* 2026/10/17: 水曜日
* 2026/10/18: 木曜日
* 2026/10/19: 金曜日
* 2026/10/20: 土曜日
* 2026/10/21: 日曜日
* 2026/10/22: 月曜日
* 2026/10/23: 火曜日
* 2026/10/24: 水曜日
* 2026/10/25: 木曜日
* 2026/10/26: 金曜日
* 2026/10/27: 土曜日
* 2026/10/28: 日曜日
* 2026/10/29: 月曜日
* 2026/10/30: 火曜日
* 2026/10/31: 水曜日
### 11月 (November)
* 2026/11/1: 木曜日
* 2026/11/2: 金曜日
* 2026/11/3: 土曜日
* 2026/11/4: 日曜日
* 2026/11/5: 月曜日
* 2026/11/6: 火曜日
* 2026/11/7: 水曜日
* 2026/11/8: 木曜日
* 2026/11/9: 金曜日
* 2026/11/10: 土曜日
* 2026/11/11: 日曜日
* 2026/11/12: 月曜日
* 2026/11/13: 火曜日
* 2026/11/14: 水曜日
* 2026/11/15: 木曜日
* 2026/11/16: 金曜日
* 2026/11/17: 土曜日
* 2026/11/18: 日曜日
* 2026/11/19: 月曜日
* 2026/11/20: 火曜日
* 2026/11/21: 水曜日
* 2026/11/22: 木曜日
* 2026/11/23: 金曜日
* 2026/11/24: 土曜日
* 2026/11/25: 日曜日
* 2026/11/26: 月曜日
* 2026/11/27: 火曜日
* 2026/11/28: 水曜日
* 2026/11/29: 木曜日
* 2026/11/30: 金曜日
### 12月 (December)
* 2026/12/1: 土曜日
* 2026/12/2: 日曜日
* 2026/12/3: 月曜日
* 2026/12/4: 火曜日
* 2026/12/5: 水曜日
* 2026/12/6: 木曜日
* 2026/12/7: 金曜日
* 2026/12/8: 土曜日
* 2026/12/9: 日曜日
* 2026/12/10: 月曜日
* 2026/12/11: 火曜日
* 2026/12/12: 水曜日
* 2026/12/13: 木曜日
* 2026/12/14: 金曜日
* 2026/12/15: 土曜日
* 2026/12/16: 日曜日
* 2026/12/17: 月曜日
* 2026/12/18: 火曜日
* 2026/12/19: 水曜日
* 2026/12/20: 木曜日
* 2026/12/21: 金曜日
* 2026/12/22: 土曜日
* 2026/12/23: 日曜日
* 2026/12/24: 月曜日
* 2026/12/25: 火曜日
* 2026/12/26: 水曜日
* 2026/12/27: 木曜日
* 2026/12/28: 金曜日
* 2026/12/29: 土曜日
* 2026/12/30: 日曜日
* **2026/12/31: 月曜日**
---
**答え:** 2026年12月31日は**月曜日**です。
実行時間は3倍程度。
考察
その3では文字数制限でできないと言われたが、出力形式で文字数を切り詰めたらできることが判明。なぜ初日の曜日を指定することが、出力形式の違いに結びつくのか意味不明。
そして結果はやはり間違っている。
* 2026/3/29: 日曜日
### 4月 (April)
* 2026/4/1: 月曜日
3月が29日で終わっている!
* 2026/4/29: 月曜日
### 5月 (May)
* 2026/5/1: 火曜日
4月30日が存在ごと消されている。
確かに1日毎なら曜日を間違えてはいなかったが、月の日数を間違えており、これが最終的に結果の誤りにつながっていた。
まとめ
1日ずつ処理することにより計算間違いは回避できたが、今度は月の日数を間違うという誤りが出現し、正解に至ることはできなかった。
Gemma4(モデルE4B)は小学生レベルの計算をさせるような課題でも、誤りが混入することがあり使いどころは選んだ方が良いと感じた。
更新履歴
日付降順。表現の修正などは除く。
- 2026/7/25: 公開
- 2026/7/11: 検討開始