高校数学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
この記事が気に入ったらサポートをしてみませんか?