見出し画像

高校数学10分プログラミング(51日目、2024年8月12日)

おはようございます。

今日は、高校数学10分プログラミングの51日目です。

本日の課題は、合同式で表される方程式を解くプログラムを作成することです。

合同式
$${m}$$は正の整数、$${a,b}$$を整数とする。
$${a-b}$$が$${m}$$の倍数であるとき、$${a}$$と$${b}$$は$${m}$$を法として合同であるといい、$${a \equiv b  (\mathrm{mod}  m)}$$と表す。$${a \equiv b  (\mathrm{mod}  m)}$$は$${a}$$を$${m}$$で割った余りと、$${b}$$を$${m}$$で割った余りが等しいことを表す。


課題

合同式

$$
4x \equiv 3  (\mathrm{mod}  5)
$$

について、合同式を満たす$${x}$$を求め、その結果をコンソールに出力するプログラムを作成してください。


ヒント

合同式$${ax \equiv b  (\mathrm{mod}  m)}$$ ($${b}$$は$${m}$$より小さい自然数)を満たす$${x}$$を、$${x \equiv c  (\mathrm{mod}  m)}$$ ($${c}$$は$${m}$$より小さい自然数)の形で求めるプログラムになります。
合同式$${ax \equiv b  (\mathrm{mod}  m)}$$は言い換えると「$${ax}$$を$${m}$$で割った余りが、$${b}$$と等しい」ということになります。このことから、$${x=0, 1, \cdots , m-1}$$について、それぞれ$${ax}$$を$${m}$$で割った余りを計算し、その余りが$${b}$$に等しければ、その$${x}$$の値で合同式$${ax \equiv b  (\mathrm{mod}  m)}$$を満たすことがわかります。その$${x}$$の値を$${c}$$とすれば、$${x \equiv c  (\mathrm{mod}  m)}$$の形で求めることができます。


それでは、よろしくお願いします。

MK's papa

この記事が気に入ったらサポートをしてみませんか?