この連載では、中学や高校で学んだ数学を題材にして、Pythonによるプログラミングを学びます。といっても、数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI/機械学習の基本となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学ぶお話にしていこうと思います。 目標: フェルマーの小定理をプログラミングしてみる 数学が苦手な人でも「素数」については聞き覚えがあると思います。素数とは1より大きく、1と自分自身しか約数を持たない数のことでしたね。つまり、2,3,5,7,11,13……が素数です。素数は中学の初歩的な数学から登場し、素因数分解やそれを利用した約分など、数式を取り扱う上での基本の基本となっています。 もちろん、それだけではありません。例えば、公開鍵方式と呼ばれる暗号化の方法(RSA暗号)などにも広く応用される実用的な「数」でもあります。一方で、無限に
![中学数学だけでフェルマーの小定理をプログラミングしてみよう](https://cdn-ak-scissors.b.st-hatena.com/image/square/5f1e5cd2272a81efe6f193805357ca33c143917d/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F2107%2F26%2Fcover_news028.jpg)