展開したい式 (ax+b)(cx+d) の係数 a・b・c・d を入力してください。下の数式は入力欄と連動していて、かっこの中の数字を直接書き換えても計算できます。
このページでできること
- \((ax+b)(cx+d)\) の形の式(一次式どうしの積)を、係数を入れるだけでその場で展開できます。結果は \((2x+3)(x-4) = 2x^{2}-5x-12\) のように整理した形で表示します
- どの乗法公式(\((x+a)(x+b)\) の公式・平方公式・和と差の積)が使える形かを自動で判定し、公式名と「公式による近道」の途中式も表示します
- 中学3年で習う基本の手順「分配法則ですべて掛け合わせる → 同類項をまとめる」の途中式を、どんな式でも省略せずに表示します
- 係数には整数のほか、小数・負の数・3/4 のような分数も入力できます。答えは分数の厳密値です
- 計算機には手書きと同じ形の式が表示され、かっこの中の数字を直接書き換えて計算することもできます
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
和と差の積の公式は、数の計算の近道としてそのまま使えます。\(101 \times 99\) は \((100+1)(100-1) = 100^{2} - 1^{2} = 9999\)、\(102 \times 98\) は \(100^{2} - 2^{2} = 9996\) と、筆算なしで答えが出せます。
平方公式も同じで、\(31^{2} = (30+1)^{2} = 900 + 60 + 1 = 961\) のように「きりのよい数 \(\pm\) 少し」に分ければ暗算できます。そろばんや計算の速い人が頭の中でやっている工夫の正体は、この乗法公式です。
1辺 \(3\) m の正方形の花壇を、縦横 \(0.5\) m ずつ広げると面積はいくつになるでしょうか。平方公式で \((3+0.5)^{2} = 3^{2} + 2 \times 3 \times 0.5 + 0.5^{2} = 9 + 3 + 0.25 = 12.25\)(m²)です。
「増えた分」が \(2ab + b^{2}\)(この例では \(3.25\) m²)として式から直接読み取れるのがポイントで、面積図の \(ab\) 2枚と \(b^{2}\) 1枚がそれにあたります。材料や肥料の追加量を見積もるときに、この「増えた分」の計算がそのまま役立ちます。
年利 \(r\) で2年間の複利運用をすると、元本は \((1+r)^{2}\) 倍になります。平方公式で展開すると \((1+r)^{2} = 1 + 2r + r^{2}\) です。
\(r\) が小さいとき \(r^{2}\) はごくわずか(年利3%なら \(r^{2} = 0.0009\)、つまり0.09%)なので、「2年でおよそ \(2r\) 増える」という概算が成り立ちます。年利3%なら正確には6.09%増ですが、概算の6%増でも見当としては十分です。金融の現場で使われる「利回りのざっくり計算」は、この展開に支えられています。
中学3年から高校にかけて学ぶ因数分解・二次方程式・二次関数は、すべて「展開が自由にできること」を前提に組み立てられています。因数分解は展開の逆再生なので、展開に慣れているほど「元の形」が見抜けるようになり、答えの検算(展開して元に戻るか)も確実にできます。
高校入試の計算問題では乗法公式を使う展開がほぼ毎年出題されるうえ、平方完成(二次関数の頂点を求める変形)や解の公式の導出も平方公式の応用です。ここで手を動かして身に付けた分だけ、後の単元が楽になります。
式
用語・記号の解説
記号
| \(a,\ b,\ c,\ d\) | エー・ビー・シー・ディー | この計算機では、展開する式 \((ax+b)(cx+d)\) の4つの係数・定数項。「決まった数」を表すときはアルファベットの最初の方の文字 \(a,\ b,\ c,\ d\) を使う慣例があります。乗法公式の \(a\)・\(b\) は「かっこの前の数・後ろの数」という意味で使われ、そこには \(x\) のような文字が入ることもあります。 |
| \(x\) | エックス | まだ決まっていない数(変数・未知数)を表す文字。未知の数にアルファベットの終わりの方の文字 \(x,\ y,\ z\) を使う慣例は、数学者デカルトに由来するといわれます。 |
| \(x^{2}\) | エックスのにじょう(エックスじじょう) | \(x\) を2回掛けたもの(\(x^{2} = x \times x\))。右上の小さい数(指数)が掛ける回数を表します。 |
| \((a+b)^{2}\) | エーたすビーのにじょう | \((a+b)(a+b)\) のこと。かっこの中の式全体を2回掛ける、という意味です。\(a^{2}+b^{2}\) とは別の式なので注意してください(正しくは \(a^{2}+2ab+b^{2}\))。 |
| \(ab\) | エービー | \(a \times b\) のこと。文字どうし・文字と数の掛け算では、掛け算の記号 \(\times\) を省略して並べて書きます(例:\(2 \times a = 2a\))。 |
用語
| 展開 | てんかい | かっこの付いた積の形の式を、分配法則でかっこを外して足し算・引き算の形(多項式)に直すこと。\((x+2)(x+3) = x^{2}+5x+6\) のように直します。因数分解のちょうど逆の操作です。 |
| 分配法則 | ぶんぱいほうそく | \(m(a+b) = ma + mb\) のように、かっこの外の数を、かっこの中の各項に1つずつ掛けてよいという計算のルール。\((a+b)(c+d)\) では、\(a+b\) をひとかたまりと見て2回使うことで、4つの積 \(ac+ad+bc+bd\) に展開できます。 |
| 乗法公式 | じょうほうこうしき | 展開でよく出る形をまとめた公式。中学3年では \((x+a)(x+b) = x^{2}+(a+b)x+ab\)、平方公式 \((a \pm b)^{2} = a^{2} \pm 2ab + b^{2}\)、和と差の積 \((a+b)(a-b) = a^{2}-b^{2}\) を学びます。「乗法」は掛け算のことです。 |
| 平方 | へいほう | 同じ数を2回掛けること(2乗)。\((a+b)^{2}\) のような「式の2乗」を展開する公式を平方公式と呼びます。 |
| 和 | わ | 足し算の答えのこと。「和と差の積」は「(足した答え)\(\times\)(引いた答え)」という意味になります。 |
| 差 | さ | 引き算の答えのこと。「和と差の積」は「(足した答え)\(\times\)(引いた答え)」という意味になります。 |
| 積 | せき | 掛け算の答えのこと。「和と差の積」は「(足した答え)\(\times\)(引いた答え)」という意味になります。 |
| 和と差の積 | わとさのせき | 同じ2つの数の和 \(a+b\) と差 \(a-b\) を掛けた形。展開すると真ん中の項が打ち消し合い、2乗の差 \(a^{2}-b^{2}\) だけが残ります。 |
| 項 | こう | 式を足し算・引き算の区切りで分けた、1つ1つのかたまり。\(2x^{2}-5x-12\) の項は \(2x^{2}\)・\(-5x\)・\(-12\) の3つです。 |
| 係数 | けいすう | 文字の前に付いている数。\(2x^{2}\) の \(2\) が係数です。\(x\) のように数が書かれていない項の係数は \(1\) と考えます。 |
| 定数項 | ていすうこう | \(2x^{2}-5x-12\) の \(-12\) のように、\(x\) を含まない「数字だけの項」のことです。 |
| 同類項 | どうるいこう | 文字の部分がまったく同じ項どうし。\(-8x\) と \(3x\) は同類項なので、係数どうしを足して \(-5x\) と1つにまとめられます。\(x^{2}\) の項と \(x\) の項は文字の部分が違うのでまとめられません。 |
| 単項式 | たんこうしき | \(2x\) のように項が1つだけの式。項を足し引きでつないだ多項式と区別します。 |
| 多項式 | たこうしき | \(2x+3\) のように項を足し引きでつないだ式。展開は「多項式どうしの積を、1つの多項式に直す計算」といえます。 |
| 一次式 | いちじしき | \(2x+3\) のように、\(x\) の1乗までしか出てこない式。この計算機は「一次式 \(\times\) 一次式」を展開します。 |
| 二次式 | にじしき | \(2x^{2}-5x-12\) のように、\(x^{2}\) の項が最高次の式。一次式どうしの積を展開すると、普通は二次式になります。 |
| 因数分解 | いんすうぶんかい | 展開の逆の操作。足し算・引き算の形の式を、掛け算の形(積)に戻すことです。展開が自由にできると、因数分解の答えの検算(展開して元に戻るか)ができるようになります。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 正負の数の計算(中学1年) |
|
| 文字式の表し方(中学1年) |
|
| 分配法則(小学4年〜中学1年) |
|
| 同類項をまとめる(中学2年) |
|
| 単項式の掛け算(中学2年) |
|
| 因数分解との関係(中学3年) |
|
Excelで計算する方法
| 1つ目のかっこの前の数 a | 3 |
| 1つ目のかっこの後ろの数 b | 2 |
| 2つ目のかっこの前の数 c | 4 |
| 2つ目のかっこの後ろの数 d | 5 |
| 積 a×c | =B1*B3 |
| 積 a×d | =B1*B4 |
| 積 b×c | =B2*B3 |
| 積 b×d | =B2*B4 |
| 4つの積の和 | =B5+B6+B7+B8 |
| 検算 (a+b)×(c+d) | =(B1+B2)*(B3+B4) |
| 1つ目のかっこの数 a | 4 |
| 2つ目のかっこの数 b | -2 |
| xの係数(足した数 a+b) | =B1+B2 |
| 定数項(掛けた数 a×b) | =B1*B2 |
| 前の数 a | 7 |
| 後ろの数 b | 3 |
| aの2乗 | =B1^2 |
| 積の2倍 2ab | =2*B1*B2 |
| bの2乗 | =B2^2 |
| 3つの和((a+b)²と一致する) | =B3+B4+B5 |
| 検算 (a+b)² | =(B1+B2)^2 |
| 前の数 a | 100 |
| 後ろの数 b | 1 |
| 和 a+b | =B1+B2 |
| 差 a−b | =B1-B2 |
| 和×差 | =B3*B4 |
| 2乗の差 a²−b² | =B1^2-B2^2 |
| 1つ目のかっこ:xの係数 a | 2 |
| 1つ目のかっこ:定数項 b | 3 |
| 2つ目のかっこ:xの係数 c | 1 |
| 2つ目のかっこ:定数項 d | -4 |
| x²の係数(a×c) | =B1*B3 |
| xの係数(a×d+b×c) | =B1*B4+B2*B3 |
| 定数項(b×d) | =B2*B4 |
1つ目の表は (3+2)(4+5) の例で、4つの積の和は 45、検算の (a+b)×(c+d) も 45 になり、分配法則が成り立つことが確かめられます。
2つ目の表は (x+4)(x−2) の例です。足した数 2 が x の係数、掛けた数 −8 が定数項になり、x²+2x−8 と読み取れます。
3つ目の表は (7+3)² の例で、49+42+9 = 100 と検算の 10² = 100 が一致します。
4つ目の表は 101×99 の暗算の種明かしで、和×差も2乗の差もどちらも 9999 になります。
5つ目の表は (2x+3)(x−4) の例です。x²の係数 2・xの係数 −5・定数項 −12、つまり 2x²−5x−12 と読み取れます。
Googleスプレッドシートで計算する方法
| 1つ目のかっこの前の数 a | 3 |
| 1つ目のかっこの後ろの数 b | 2 |
| 2つ目のかっこの前の数 c | 4 |
| 2つ目のかっこの後ろの数 d | 5 |
| 積 a×c | =B1*B3 |
| 積 a×d | =B1*B4 |
| 積 b×c | =B2*B3 |
| 積 b×d | =B2*B4 |
| 4つの積の和 | =B5+B6+B7+B8 |
| 検算 (a+b)×(c+d) | =(B1+B2)*(B3+B4) |
| 1つ目のかっこの数 a | 4 |
| 2つ目のかっこの数 b | -2 |
| xの係数(足した数 a+b) | =B1+B2 |
| 定数項(掛けた数 a×b) | =B1*B2 |
| 前の数 a | 7 |
| 後ろの数 b | 3 |
| aの2乗 | =B1^2 |
| 積の2倍 2ab | =2*B1*B2 |
| bの2乗 | =B2^2 |
| 3つの和((a+b)²と一致する) | =B3+B4+B5 |
| 検算 (a+b)² | =(B1+B2)^2 |
| 前の数 a | 100 |
| 後ろの数 b | 1 |
| 和 a+b | =B1+B2 |
| 差 a−b | =B1-B2 |
| 和×差 | =B3*B4 |
| 2乗の差 a²−b² | =B1^2-B2^2 |
| 1つ目のかっこ:xの係数 a | 2 |
| 1つ目のかっこ:定数項 b | 3 |
| 2つ目のかっこ:xの係数 c | 1 |
| 2つ目のかっこ:定数項 d | -4 |
| x²の係数(a×c) | =B1*B3 |
| xの係数(a×d+b×c) | =B1*B4+B2*B3 |
| 定数項(b×d) | =B2*B4 |
Pythonで計算する方法
from fractions import Fraction
# 展開したい式 (ax+b)(cx+d) の係数(3/4 のような分数は Fraction(3, 4) と書ける)
x_coef_first = Fraction(2) # 1つ目のかっこの x の係数 a
const_first = Fraction(3) # 1つ目のかっこの定数項 b
x_coef_second = Fraction(1) # 2つ目のかっこの x の係数 c
const_second = Fraction(-4) # 2つ目のかっこの定数項 d
# 分配法則:x²の係数 = ac、xの係数 = ad + bc、定数項 = bd
squared_coef = x_coef_first * x_coef_second
linear_coef = x_coef_first * const_second + const_first * x_coef_second
constant = const_first * const_second
print(f"x^2 の係数: {squared_coef}")
print(f"x の係数: {linear_coef}")
print(f"定数項: {constant}")
数式記述言語(LaTeX等)での書き方(コピペ可)
(a + b)(c + d) = ac + ad + bc + bd
(a + b)(c + d) = ac + ad + bc + bd
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo>)</mo>
<mo>(</mo><mi>c</mi><mo>+</mo><mi>d</mi><mo>)</mo>
<mo>=</mo>
<mi>a</mi><mi>c</mi>
<mo>+</mo><mi>a</mi><mi>d</mi>
<mo>+</mo><mi>b</mi><mi>c</mi>
<mo>+</mo><mi>b</mi><mi>d</mi>
</mrow>
</math>
(a + b)(c + d) = ac + ad + bc + bd
Expand[(a + b) (c + d)]
expand((a + b)*(c + d));
expand((a + b)*(c + d))
(a + b)(c + d) = ac + ad + bc + bd
(x + a)(x + b) = x² + (a + b)x + ab
(x + a)(x + b) = x^{2} + (a + b)x + ab
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>x</mi><mo>+</mo><mi>a</mi><mo>)</mo>
<mo>(</mo><mi>x</mi><mo>+</mo><mi>b</mi><mo>)</mo>
<mo>=</mo>
<msup><mi>x</mi><mn>2</mn></msup>
<mo>+</mo>
<mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo>)</mo><mi>x</mi>
<mo>+</mo>
<mi>a</mi><mi>b</mi>
</mrow>
</math>
(x + a)(x + b) = x^2 + (a + b)x + ab
Expand[(x + a) (x + b)]
expand((x + a)*(x + b));
expand((x + a)*(x + b))
(x + a)(x + b) = x^2 + (a + b)x + ab
(a + b)² = a² + 2ab + b²
(a + b)^{2} = a^{2} + 2ab + b^{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msup>
<mrow><mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo>)</mo></mrow>
<mn>2</mn>
</msup>
<mo>=</mo>
<msup><mi>a</mi><mn>2</mn></msup>
<mo>+</mo>
<mn>2</mn><mi>a</mi><mi>b</mi>
<mo>+</mo>
<msup><mi>b</mi><mn>2</mn></msup>
</mrow>
</math>
(a + b)^2 = a^2 + 2ab + b^2
Expand[(a + b)^2]
expand((a + b)^2);
expand((a + b)^2)
(a + b)^2 = a^2 + 2ab + b^2
(a + b)(a − b) = a² − b²
(a + b)(a - b) = a^{2} - b^{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mo>)</mo>
<mo>(</mo><mi>a</mi><mo>−</mo><mi>b</mi><mo>)</mo>
<mo>=</mo>
<msup><mi>a</mi><mn>2</mn></msup>
<mo>−</mo>
<msup><mi>b</mi><mn>2</mn></msup>
</mrow>
</math>
(a + b)(a - b) = a^2 - b^2
Expand[(a + b) (a - b)]
expand((a + b)*(a - b));
expand((a + b)*(a - b))
(a + b)(a - b) = a^2 - b^2
(ax + b)(cx + d) = acx² + (ad + bc)x + bd
(ax + b)(cx + d) = acx^{2} + (ad + bc)x + bd
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>a</mi><mi>x</mi><mo>+</mo><mi>b</mi><mo>)</mo>
<mo>(</mo><mi>c</mi><mi>x</mi><mo>+</mo><mi>d</mi><mo>)</mo>
<mo>=</mo>
<mi>a</mi><mi>c</mi><msup><mi>x</mi><mn>2</mn></msup>
<mo>+</mo>
<mo>(</mo><mi>a</mi><mi>d</mi><mo>+</mo><mi>b</mi><mi>c</mi><mo>)</mo><mi>x</mi>
<mo>+</mo>
<mi>b</mi><mi>d</mi>
</mrow>
</math>
(ax + b)(cx + d) = acx^2 + (ad + bc)x + bd
Expand[(a x + b) (c x + d)]
expand((a*x + b)*(c*x + d));
expand((a*x + b)*(c*x + d))
(ax + b)(cx + d) = acx^2 + (ad + bc)x + bd
ChatGPT に聞いて計算してもらう方法
あなたは数学(中学3年の数と式)の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果だけを根拠に回答してください(暗算や推測で答えないでください)。 式 (2x+3)(x-4) を展開してください。 次の内容をそれぞれ示してください。 1. 分配法則でできる4つの積(どの項とどの項を掛けたか) 2. 同類項をまとめた展開の結果 3. 乗法公式((x+a)(x+b) の公式・平方公式・和と差の積)のどれかが使える形なら、その公式名。使えない形なら「分配法則で展開」と答える Pythonでは sympy の expand を使って計算し(sympy が無ければ fractions で係数 ac・ad+bc・bd を計算し)、計算に使ったコードと実行結果を示してください。
計算ドリル(演習問題)
このページの展開を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
