GPT-OSS-120Bに論理クイズや数学問題を解かせ、推論ログを詳細に分析した
本文の状態
日本語全文を表示中
詳細モードで約11分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
ABEJA Tech Blog
オープンソースの大規模言語モデルGPT-OSS-120Bに論理クイズや数学問題を解かせ、その推論プロセスをログから詳細に分析した研究内容。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
ABEJAでデータサイエンティストをしている大田です。本記事はABEJAアドベントカレンダー2025の24日目の記事です。
今年はDeepSeek-R1を皮切りに、いわゆる reasoning model が一気に存在感を増しました。OpenAI からも gpt-oss が8月に登場し、さらにそれを学習して用途に合わせて育てていく動きまで見られるようになっています。推論能力が高いことで知られるreasoning modelですが、得意タスクや性能を最大限に引き出すために何が必要かよく分かっていないことに気づき、内部の思考過程を見てみることにしました。
本記事では、主に論理クイズを入力として reasoning model の思考過程を観察しつつ、gpt-oss-120b の推論能力を検証します。プロンプト設計や問題設定の違いが、思考の進み方や最終回答にどのような影響を与えるのかを具体例で確認していきます。
reasoning modelなので、論理系の問題はそれなりに得意だと思いつつ、それでもそのものが学習データに入ってなさそうな難しい問題をピックアップしてきました。遊びで詰将棋とかも入れてます。
以下の状況から、真犯人を特定してください。 【状況】 パーティーで高価なダイヤが盗まれました。容疑者は3人(アリス、ボブ、チャーリー)ですが、「犯人だけが嘘をつき、犯人以外は本当のことを言う」というルールがわかっています。 【証言】 アリス: 「私は盗んでいません。ボブが盗みました。」 ボブ: 「私は盗んでいません。アリスかチャーリーのどちらかが盗みました。」 チャーリー: 「ボブが盗みました。アリスは本当のことを言っています。」 【問い】 犯人は誰ですか? また、それぞれの証言が「真」か「偽」かを判定し、論理的に唯一成立するパターンを導き出してください。
0から9の数字を必ず一回だけ使って3つの数字x、y、zを作り、x+y=zとなるようにしてください。
x! + y! = xy を満たす正の整数の組 (x, y) をすべて求めよ。求めたもの以外がないかどうかも考慮して解いてください。
ワインが1000本あります。そのうち1本だけ、毒が入っています。 この毒は飲むと、10〜20時間後のどこかのタイミングで死んでしまいます(何時間後に死ぬかは一定ではありません)。 こちらには毒見役にできる人が何人かいて、1人に何本飲ませても構いません。 ただし、今から24時間以内に「どのワインが毒入りか」を確実に突き止めたい。 さて、そのためには毒見役が最低何人必要でしょうか。
会場に100人の人がいて、1~100までの数字を選んでもらいます。 このときそれぞれの人が選んだ数字の中で2番目に大きい数を選んだ人が勝利となる(複数人いた場合は全員が勝者となる)。 100人全員が論理的な行動をするとき、勝利になった人の数字は何になるか。
25席が等間隔に一列に並んだバーがある。 お客さんはすでにいる客との距離が最大になる席に座る。隣に人がいない席に座れない場合は帰ってしまう。 お客さんが来て座る席がなく帰ってしまったとき(両隣が空いてる席がなくなった時)、その時にいる店内のお客さんの最小値と最大値を求めよ。 また、最大値の時には最初に来たお客さんはどの席に座ったかも求めよ。 ただし一度来たお客さんは帰らないものとする。
次の詰将棋を解いてください。 【玉方】 1一香、1三歩、2一玉 【攻め方】 2三金 【持ち駒】 角
設定 以下の設定で実行しました。 - model: gpt-oss-120b - temperature: 1.0 - reasoning effort: high
補足: gpt-ossの出力は
analysis{思考過程}assistantfinal{出力}
まずはよくある論理クイズを渡してみます。
以下の状況から、真犯人を特定してください。 【状況】 パーティーで高価なダイヤが盗まれました。 容疑者は3人(アリス、ボブ、チャーリー)ですが、「犯人だけが嘘をつき、犯人以外は本当のことを言う」というルールがわかっています。 【証言】 アリス: 「私は盗んでいません。ボブが盗みました。」 ボブ: 「私は盗んでいません。アリスかチャーリーのどちらかが盗みました。」 チャーリー: 「ボブが盗みました。アリスは本当のことを言っています。」 【問い】 犯人は誰ですか?
▶ 思考過程全文(クリックして開く)
We have three suspects: Alice, Bob, Charlie. Statements: Alice: 1. "I did not steal." 2. "Bob stole." Bob: 1. "I did not steal." 2. "Either Alice or Charlie stole." (i.e., "Alice or Charlie is the thief"). Charlie: 1. "Bob stole." 2. "Alice is telling the truth." (i.e., Alice's statements are true). We need consistent assignment where exactly one culprit lies (both statements false) and innocents truthfully state true statements. Let's denote variables: A = Alice is thief (true if she stole) B = Bob is thief C = Charlie is thief Exactly one thief among them. Now evaluate each person's statements truth values. Alice statements: S_A1: "I did not steal" = ¬A. S_A2: "Bob stole" = B. If Alice is innocent (A false), then she tells truth, so both statements must be true. That yields ¬A true (since A false) OK, and B true. So B must be true. Also only one thief, so if B true, A false, C false. That's consistent: exactly one thief is Bob. If Alice is guilty (A true), then she lies; both statements false. So ¬A false => ¬A false = (A true) which matches because A true => ¬A is false (good). Also B must be false (since statement "Bob stole" is false). So B false. Also since Alice is thief, she is the only one. So A true, B false, C false. That matches condition of B false. So both possibilities viable: either Alice innocent, Bob thief; or Alice thief. Now Bob's statements: S_B1: "I did not steal" = ¬B. S_B2: "Alice or Charlie stole" = A ∨ C. If Bob is innocent (B false), both statements true. So ¬B true (since B false) OK. Also A ∨ C must be true. Since only one thief among A,C (since B false), that implies either A true or C true (but not both). So some other person (Alice or Charlie) is thief. If Bob is guilty (B true), both statements false. So ¬B false (since B true) OK. Also (A ∨ C) must be false, thus A false and C false. But B true would be the only thief. So that matches: if Bob is thief, A false, C false. Now Charlie's statements: S_C1: "Bob stole" = B. S_C2: "Alice is telling the truth" = (Alice's statements are true). Since Alice's statements are two statements, "Alice is telling the truth" means Alice is innocent (i.e., not lying). So it means Alice is not the thief? Actually if Alice is innocent, she tells truth, then indeed Alice's statements are true. If Alice is guilty, she lies, thus not true. So S_C2 is equivalent to (Alice is innocent). So S_C2 = ¬A. If Charlie is innocent (C false), both statements true. So B must be true, and ¬A must be true => A false. So B true, A false, C false. That gives thief = Bob. If Charlie is guilty (C true), both statements false. So B false, and ¬A false => A true. So B false, A true. And C is thief. That gives thief = Charlie (but then B false, A true). Wait but with C true, only one thief, that's consistent. Now evaluate consistency across all three simultaneously, with exactly one culprit. We have three candidate truths sets from each perspective. Let's enumerate possibilities where exactly one thief among A,B,C. Case 1: A true, B false, C false (Alice thief) Check statements: Alice (guilty) - both false: we previously saw false: ¬A false (since A true) -> false; B false => statement "Bob stole" false; OK. Bob (innocent) - both must be true: ¬B true (since B false) ok; A ∨ C = true ∨ false = true, so true. Good. Charlie (innocent) - both must be true: B false -> but statement "Bob stole" is false! So Charlie would be telling false, violating innocence. Thus case fails. Thus A cannot be thief. Case 2: B true, A false, C false (Bob thief) Check: Alice (innocent) - statements true: ¬A true (since A false) ok; B true => "Bob stole" true. Good. Bob (guilty) - statements false: ¬B false (since B true) ok; A ∨ C = false ∨ false = false, so statement false, good. Charlie (innocent) - statements true: B true => "Bob stole" true; ¬A true (since A false) => "Alice is telling truth" true. So both true. Good. All conditions satisfied: exactly one thief (Bob) and rule holds. So consistent. Case 3: C true, A false, B false (Charlie thief) Check: Alice (innocent) - statements true: ¬A true (A false). B false => "Bob stole" is false (since B false). That violates truth. So fails. Thus only consistent case is Bob is thief. Therefore answer: 犯人はボブです。 Now output JSON with key answer. Should be Japanese? Provide answer string. We'll output "ボブ". assistantfinal json{ "answer": "ボブ" }
容疑者は3人:アリス、ボブ、チャーリー。 発言: ... 次に、各人の発言の真偽を評価する。 ... ケース3:C 真、A 偽、B 偽(チャーリーが犯人) 確認: アリス(無実)— 2つとも真: ¬A は真(A 偽なので)OK、 B 偽なので「ボブが盗んだ」は偽となり、真でなければならない条件に反する。 よって不成立。 結論:犯人はボブ。 assistantfinal json{ "answer": "ボブ" }
思考も前提確認して、すべてのケースについて整合性を確認して矛盾したものを見つけるという王道かつ論理的な方法で解くことができています。
0から9の数字を必ず一回だけ使って3つの数字x、y、zを作り、x+y=zとなるようにしてください
▶ 思考過程全文(クリックして開く)
We need answer likely giving an example solution. Then we must produce a JSON with key "answer". So answer should be something like "x=..., y=..., z=...". Must ensure each digit used exactly once. We need to find a solution. This is classic puzzle, like a pandigital sum. There are known solutions: 21978 + 345 = 22323? Not pandigital. Let's think. We need three numbers; they can have varying length, but total digits used sum to 10. Could be e.g., x has a digits, y has b digits, z has c digits, with a+b+c=10. Leading digit cannot be zero. Use digits 0-9 each once. We need x + y = z. Let's try known pandigital addition like 219 + 8765 = 8984? Not right. Better to search mentally. Known solution: 219 + 876 = 1095? That's 219+876=1095 uses digits {1,0,9,5,2,1,9}? Duplicate. Not. Maybe known solution: 21978 + 345 = 22323 uses duplicates. Let's brute think small: Suppose x is 4 digits, y is 3 digits, z is 3 digits? Then sum of a 4-digit and 3-digit yields at most 5-digit, but we have only 3 digits left for z, cannot hold result >999. So not possible. So likely x and y are 4 and 3 digits, z is 5 digits? That's total 12 digits >10. Need total 10. Possibilities: lengths (1,4,5) =10; (2,3,5)=10; (2,4,4)=10; (3,3,4)=10; (1,5,4)=10; (1,3,6)=10 etc. But z must be largest, sum of x and y. So z must have at least as many digits as max(x,y) or one more. Let's try (2,3,5): x is 2-digit, y is 3-digit, z is 5-digit. Sum of 2-digit (max 99) and 3-digit (max 999) is at most 1098, which is 4-digit. So cannot be 5-digit. So not possible. (3,3,4): x and y are 3-digit, z is 4-digit. Sum of two 3-digit numbers is at most 1998 (4-digit). So possible. So we need two 3-digit numbers and a 4-digit sum, using digits 0-9 exactly once. Let's try to find such. Let x = abc, y = def, z = ghij. Digits a,d,g not zero. We need abc + def = ghij. Use all digits 0-9. Known pandigital addition: 324 + 765 = 1089? 324+765=1089 uses digits {3,2,4,7,6,5,1,0,8,9}? That's all digits 0-9! Check: 3,2,4,7,6,5,1,0,8,9. Yes, that uses each digit exactly once. So x=324, y=765, z=1089. Check: 324+765=1089. Digits: 3,2,4,7,6,5,1,0,8,9. All 0-9 used exactly once. That works. So answer is x=324, y=765, z=1089. There might be other solutions, but this is a valid one. So we output that. assistantfinal json{ "answer": "x=324, y=765, z=1089" }
原文を表示
ABEJAでデータサイエンティストをしている大田です。本記事はABEJAアドベントカレンダー2025の24日目の記事です。
今年はDeepSeek-R1を皮切りに、いわゆる reasoning model が一気に存在感を増しました。OpenAI からも gpt-oss が8月に登場し、さらにそれを学習して用途に合わせて育てていく動きまで見られるようになっています。推論能力が高いことで知られるreasoning modelですが、得意タスクや性能を最大限に引き出すために何が必要かよく分かっていないことに気づき、内部の思考過程を見てみることにしました。
本記事では、主に論理クイズを入力として reasoning model の思考過程を観察しつつ、gpt-oss-120b の推論能力を検証します。プロンプト設計や問題設定の違いが、思考の進み方や最終回答にどのような影響を与えるのかを具体例で確認していきます。
reasoning modelなので、論理系の問題はそれなりに得意だと思いつつ、それでもそのものが学習データに入ってなさそうな難しい問題をピックアップしてきました。遊びで詰将棋とかも入れてます。
以下の状況から、真犯人を特定してください。 【状況】 パーティーで高価なダイヤが盗まれました。容疑者は3人(アリス、ボブ、チャーリー)ですが、「犯人だけが嘘をつき、犯人以外は本当のことを言う」というルールがわかっています。 【証言】 アリス: 「私は盗んでいません。ボブが盗みました。」 ボブ: 「私は盗んでいません。アリスかチャーリーのどちらかが盗みました。」 チャーリー: 「ボブが盗みました。アリスは本当のことを言っています。」 【問い】 犯人は誰ですか? また、それぞれの証言が「真」か「偽」かを判定し、論理的に唯一成立するパターンを導き出してください。
0から9の数字を必ず一回だけ使って3つの数字x、y、zを作り、x+y=zとなるようにしてください。
x! + y! = xy を満たす正の整数の組 (x, y) をすべて求めよ。求めたもの以外がないかどうかも考慮して解いてください。
ワインが1000本あります。そのうち1本だけ、毒が入っています。 この毒は飲むと、10〜20時間後のどこかのタイミングで死んでしまいます(何時間後に死ぬかは一定ではありません)。 こちらには毒見役にできる人が何人かいて、1人に何本飲ませても構いません。 ただし、今から24時間以内に「どのワインが毒入りか」を確実に突き止めたい。 さて、そのためには毒見役が最低何人必要でしょうか。
会場に100人の人がいて、1~100までの数字を選んでもらいます。 このときそれぞれの人が選んだ数字の中で2番目に大きい数を選んだ人が勝利となる(複数人いた場合は全員が勝者となる)。 100人全員が論理的な行動をするとき、勝利になった人の数字は何になるか。
25席が等間隔に一列に並んだバーがある。 お客さんはすでにいる客との距離が最大になる席に座る。隣に人がいない席に座れない場合は帰ってしまう。 お客さんが来て座る席がなく帰ってしまったとき(両隣が空いてる席がなくなった時)、その時にいる店内のお客さんの最小値と最大値を求めよ。 また、最大値の時には最初に来たお客さんはどの席に座ったかも求めよ。 ただし一度来たお客さんは帰らないものとする。
次の詰将棋を解いてください。 【玉方】 1一香、1三歩、2一玉 【攻め方】 2三金 【持ち駒】 角
設定 以下の設定で実行しました。 - model: gpt-oss-120b - temperature: 1.0 - reasoning effort: high
補足: gpt-ossの出力は
analysis{思考過程}assistantfinal{出力}
まずはよくある論理クイズを渡してみます。
以下の状況から、真犯人を特定してください。 【状況】 パーティーで高価なダイヤが盗まれました。 容疑者は3人(アリス、ボブ、チャーリー)ですが、「犯人だけが嘘をつき、犯人以外は本当のことを言う」というルールがわかっています。 【証言】 アリス: 「私は盗んでいません。ボブが盗みました。」 ボブ: 「私は盗んでいません。アリスかチャーリーのどちらかが盗みました。」 チャーリー: 「ボブが盗みました。アリスは本当のことを言っています。」 【問い】 犯人は誰ですか?
▶ 思考過程全文(クリックして開く)
We have three suspects: Alice, Bob, Charlie. Statements: Alice: 1. "I did not steal." 2. "Bob stole." Bob: 1. "I did not steal." 2. "Either Alice or Charlie stole." (i.e., "Alice or Charlie is the thief"). Charlie: 1. "Bob stole." 2. "Alice is telling the truth." (i.e., Alice's statements are true). We need consistent assignment where exactly one culprit lies (both statements false) and innocents truthfully state true statements. Let's denote variables: A = Alice is thief (true if she stole) B = Bob is thief C = Charlie is thief Exactly one thief among them. Now evaluate each person's statements truth values. Alice statements: S_A1: "I did not steal" = ¬A. S_A2: "Bob stole" = B. If Alice is innocent (A false), then she tells truth, so both statements must be true. That yields ¬A true (since A false) OK, and B true. So B must be true. Also only one thief, so if B true, A false, C false. That's consistent: exactly one thief is Bob. If Alice is guilty (A true), then she lies; both statements false. So ¬A false => ¬A false = (A true) which matches because A true => ¬A is false (good). Also B must be false (since statement "Bob stole" is false). So B false. Also since Alice is thief, she is the only one. So A true, B false, C false. That matches condition of B false. So both possibilities viable: either Alice innocent, Bob thief; or Alice thief. Now Bob's statements: S_B1: "I did not steal" = ¬B. S_B2: "Alice or Charlie stole" = A ∨ C. If Bob is innocent (B false), both statements true. So ¬B true (since B false) OK. Also A ∨ C must be true. Since only one thief among A,C (since B false), that implies either A true or C true (but not both). So some other person (Alice or Charlie) is thief. If Bob is guilty (B true), both statements false. So ¬B false (since B true) OK. Also (A ∨ C) must be false, thus A false and C false. But B true would be the only thief. So that matches: if Bob is thief, A false, C false. Now Charlie's statements: S_C1: "Bob stole" = B. S_C2: "Alice is telling the truth" = (Alice's statements are true). Since Alice's statements are two statements, "Alice is telling the truth" means Alice is innocent (i.e., not lying). So it means Alice is not the thief? Actually if Alice is innocent, she tells truth, then indeed Alice's statements are true. If Alice is guilty, she lies, thus not true. So S_C2 is equivalent to (Alice is innocent). So S_C2 = ¬A. If Charlie is innocent (C false), both statements true. So B must be true, and ¬A must be true => A false. So B true, A false, C false. That gives thief = Bob. If Charlie is guilty (C true), both statements false. So B false, and ¬A false => A true. So B false, A true. And C is thief. That gives thief = Charlie (but then B false, A true). Wait but with C true, only one thief, that's consistent. Now evaluate consistency across all three simultaneously, with exactly one culprit. We have three candidate truths sets from each perspective. Let's enumerate possibilities where exactly one thief among A,B,C. Case 1: A true, B false, C false (Alice thief) Check statements: Alice (guilty) - both false: we previously saw false: ¬A false (since A true) -> false; B false => statement "Bob stole" false; OK. Bob (innocent) - both must be true: ¬B true (since B false) ok; A ∨ C = true ∨ false = true, so true. Good. Charlie (innocent) - both must be true: B false -> but statement "Bob stole" is false! So Charlie would be telling false, violating innocence. Thus case fails. Thus A cannot be thief. Case 2: B true, A false, C false (Bob thief) Check: Alice (innocent) - statements true: ¬A true (since A false) ok; B true => "Bob stole" true. Good. Bob (guilty) - statements false: ¬B false (since B true) ok; A ∨ C = false ∨ false = false, so statement false, good. Charlie (innocent) - statements true: B true => "Bob stole" true; ¬A true (since A false) => "Alice is telling truth" true. So both true. Good. All conditions satisfied: exactly one thief (Bob) and rule holds. So consistent. Case 3: C true, A false, B false (Charlie thief) Check: Alice (innocent) - statements true: ¬A true (A false). B false => "Bob stole" is false (since B false). That violates truth. So fails. Thus only consistent case is Bob is thief. Therefore answer: 犯人はボブです。 Now output JSON with key answer. Should be Japanese? Provide answer string. We'll output "ボブ". assistantfinal json{ "answer": "ボブ" }
容疑者は3人:アリス、ボブ、チャーリー。 発言: ... 次に、各人の発言の真偽を評価する。 ... ケース3:C 真、A 偽、B 偽(チャーリーが犯人) 確認: アリス(無実)— 2つとも真: ¬A は真(A 偽なので)OK、 B 偽なので「ボブが盗んだ」は偽となり、真でなければならない条件に反する。 よって不成立。 結論:犯人はボブ。 assistantfinal json{ "answer": "ボブ" }
思考も前提確認して、すべてのケースについて整合性を確認して矛盾したものを見つけるという王道かつ論理的な方法で解くことができています。
0から9の数字を必ず一回だけ使って3つの数字x、y、zを作り、x+y=zとなるようにしてください
▶ 思考過程全文(クリックして開く)
We need answer likely giving an example solution. Then we must produce a JSON with key "answer". So answer should be something like "x=..., y=..., z=...". Must ensure each digit used exactly once. We need to find a solution. This is classic puzzle, like a pandigital sum. There are known solutions: 21978 + 345 = 22323? Not pandigital. Let's think. We need three numbers; they can have varying length, but total digits used sum to 10. Could be e.g., x has a digits, y has b digits, z has c digits, with a+b+c=10. Leading digit cannot be zero. Use digits 0-9 each once. We need x + y = z. Let's try known pandigital addition like 219 + 8765 = 8984? Not right. Better to search mentally. Known solution: 219 + 876 = 1095? That's 219+876=1095 uses digits {1,0,9,5,2,1,9}? Duplicate. Not. Maybe known solution: 21978 + 345 = 22323 uses duplicates. Let's brute think small: Suppose x is 4 digits, y is 3 digits, z is 3 digits? Then sum of a 4-digit and 3-digit yields at most 5-digit, but we have only 3 digits left for z, cannot hold result >999. So not possible. So likely x and y are 4 and 3 digits, z is 5 digits? That's total 12 digits >10. Need total 10. Possibilities: lengths (1,4,5) =10; (2,3,5)=10; (2,4,4)=10; (3,3,4)=10; (1,5,4)=10; (1,3,6)=10 etc. But z must be largest, sum of x and y. Let's try lengths (3,3,4). So x 3-digit, y 3-digit, sum yields 4-digit. Use all digits 0-9 exactly once. That seems plausible. We need 3-digit + 3-digit = 4-digit, meaning sum >= 1000. So x+y >=1000. Max 3-digit + 3-digit is 987+654=1641, so 4-digit sum fits. We need distinct digits. Let's attempt to find such via reasoning. Let’s denote digits. Could try known pandigital sum: 219 + 876 = 1095 uses digits: 2,1,9,8,7,6,1,0,9,5 duplicates 1 and 9. Not good. Try 173 + 284 = 457? That's 3-digit+3-digit = 3-digit (no). Need 4-digit. Maybe 526 + 739 = 1265 uses digits: 5,2,6,7,3,9,1,2,6,5 duplicates 2,5,6. Not. Better to search known solutions: I recall 219 + 734 = 953? No. Maybe solution length (2,3,5): 2-digit + 3-digit =5-digit, sum must be >=10000, but max is 98+765=863 <10000, impossible. So can't. Length (1,4,5): 1-digit + 4-digit =5-digit, max 9+9876=9885 (<10000). So not. Length (2,4,4): 2-digit + 4-digit =4-digit possible if sum >=1000 and <=9999. Max 98+7654=7752 (<10000). So fine. Total digits=10. So x 2-digit, y 4-digit, z 4-digit. Need distinct digits. We need to find any pandigital solution. Could be known: 27 + 1983 = 2010? uses digits 2,7,1,9,8,3,2,0,1,0 duplicates. Maybe 58 + 2196 = 2254 duplicates. Could also be (3,2,5) but 3+2=5 digits, sum must be 5-digit. Max 987+65=1052 (<10000). Not. Thus plausible solution lengths are (3,3,4) or (2,4,4). Let's attempt to find with reasoning. Let's attempt systematic guess: For (3,3,4) we need sum between 1000 and 1998 (since max 987+654=1641). So leading digit of z is 1. So z is 1abc. Thus digits used: 1 appears only in z's thousands place. Then the hundreds tens units digits are remaining. We need x and y three-digit numbers using remaining digits (0-9 except 1). Use all digits. Sum of two three-digit numbers equals a four-digit number beginning with 1. So x+y = 1000 + k, where k is 0..999. So x + y -1000 = k. Thus x + y = 1000 + k, and k = (x+y) -1000 less than 1000. So the sum of the lower three digits of z equals (x+y) mod 1000. Good. We also need that when adding x and y columnwise, there is a carry to thousand place (since sum >=1000). So the sum of the hundreds digits plus any carry from tens must be >=10. We could attempt known solution: 497 + 638 = 1135 uses digits 4,9,7,6,3,8,1,1,3,5 duplicates 1 and 3. Try 526 + 738 = 1264 uses digits 5,2,6,7,3,8,1,2,6,4 duplicates. Try to find using computer normally, but here mental. Let's try constructing: Let’s pick z = 1abc using distinct digits. The remaining digits for x and y are 9 leftover digits. We need x+y = 1000 + abc. So abc = (x+y) - 1000. So x+y = 1000 + abc, with abc being three-digit number using digits distinct from those in x,y. Idea: choose x and y such that their sum is just over 1000, maybe 1023 etc. Let's try to pick x= 9??, y = 8?? to get around 1000. Use high hundreds digits. Take x= 962, y= 857 => sum=1819 -> z=1819 uses digits 1,8,1,9 duplicate. Not. We need sum's thousand digit =1 and rest digits distinct. Try x= 924, y= 638 => sum=1562 -> z=1562 digits 1,5,6,2. Use digits: x 9,2,4 ; y 6,3,8 ; z 1,5,6,2 -> duplicates 6 and 2 appear in both y and z and x? 6 in y and z duplicates, 2 in x and z duplicates. Not ok. We need all digits unique across all three numbers. Thus the thousand digit 1 must not appear elsewhere. So none of x or y can contain digit 1. Also the other three digits of z (a,b,c) must be distinct from digits in x and y. Thus we need to partition digits 0-9 into three groups: digits of x (3), digits of y (3), digits of z (4) where z's thousand digit =1. So remaining digits for x,y are from {0,2,3,4,5,6,7,8,9}. 9 digits, choose 3 each. Goal: sum of x and y equals 1000 + abc, where abc are the remaining three digits (not including 1). So we need to assign digits to x and y such that their sum's lower three digits are exactly that set (abc) in some order. Thus if we let S = x + y - 1000 . Then S must be a 3-digit number using the remaining three digits. Thus x + y = 1000 + S. Now x
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み