規則性を見つける

回 8-1 分野 8 考え方

規則性 (きそくせい) は、物事が決まった規則に従って並んだり繰り返したりする性質です。数の並びの規則性は、小さい場合を順に表にすると見えてきます。7 を何回か掛けると一の位は 7、9、3、1 の 4 つを繰り返すので、7 の 2026 乗の一の位は、2026 を 4 で割った余り 2 から 9 と分かります。ただし、見つけた規則は、数え直すか理由を付けるまでは予想です。

小さい場合の表、周期、差という 3 つの手を、Python で数え上げた数と照らしながら身に付けます。

7 を 2026 回掛けた数の一の位は、いくつか

答えは 9 です。7 を 2026 回掛けた数は 1700 桁を超えますが、一の位だけなら、紙と鉛筆で 1 分かかりません。

コツは、いきなり 2026 回目を考えず、1 回目、2 回目、3 回目と小さい場合を表にすることです。表を作ると、同じ並びが繰り返す所 (周期) や、増え方の決まり (差) が見えてきます。見えた規則を使えば、巨大な n の答えを、n を小さな数に縮めてから出せます。

この回では、規則性を見つける 3 つの手を、Python で数えて確かめます。見つけた規則が外れる例も見ます。

規則性を見つける 3 つの手

規則性とは

規則性は、物事が決まった規則に従って並んだり繰り返したりする性質です。数の並び、模様、曜日のように、次がどうなるかを前から言える並びは「規則性がある」と言います。似た言葉の法則性は、自然や社会の物事が従う決まり (法則) に従っている性質を指して使われることが多い言葉です。「この数列には規則性がある」「売上の動きに規則性は見られない」のように使います。似た言葉に周期性 (同じ形を繰り返す性質) やパターンがあり、反対の意味の言葉には不規則性やランダム性があります。この回では、数の並びの規則性を、計算で見つけて使う方法を扱います。

手 1 小さい場合を表にする

n = 1, 2, 3, … と順に答えを出し、表に並べます。7 の累乗の一の位は、次の通りです。

n7^n一の位
177
2499
33433
424011
5168077
61176499
78235433
857648011

一の位は 7、9、3、1 を繰り返しています。一の位は、前の一の位に 7 を掛けた数の一の位だけで決まるので、一度 7 に戻れば、そこから先は同じ並びです。

手 2 周期で n を縮める

同じ並びが p 個ごとに繰り返すとき、p を周期と呼びます。7^n の一の位の周期は 4 です。周期が分かれば、n 番目は n mod 4 番目と同じです (mod は割った余り)。

2026 ÷ 4 = 506 余り 2 なので、7^2026 の一の位は、表の 2 番目と同じ 9 です。余りが 0 のときは、表の 4 番目 (1) に当たる点に気を付けます。

曜日も同じ考えです。曜日の周期は 7 なので、今日が金曜なら 100 日後は 100 mod 7 = 2 日後と同じ日曜です。

手 3 差を取る

増え続ける数の並びは、隣どうしの差を取ると規則が見えることがあります。差の並びを階差数列と呼びます。

n並び前との差
11
232
363
4104
5155
6216

マッチ棒で正方形を横に n 個つなげて作るときの本数 4、7、10、13、… は、差がいつも 3 です。1 回目の差が一定なら、元の並びは n の 1 次式で、本数は 3n + 1 本です。上の表の並びは、差が 2、3、4、… と 1 ずつ増えます。この並びは 1 から n までの和で、n × (n + 1) ÷ 2 です。差をもう一度取ると全部 1 になります。n の多項式で書ける並びなら、2 回目の差が一定のとき、元の並びは n の 2 次式です。

周期が始まるまでに前置きがある場合

2 の累乗の一の位は、n = 1 から 2、4、8、6 を繰り返します。けれど n = 0 の 2^0 = 1 は、この繰り返しに入りません。繰り返しに入る前の部分を前置き (前周期) と呼びます。周期で縮めるときは、前置きを除いた所から数えます。

余りのように取りうる値が有限個の並びは、次の値が今の値だけで決まるなら、いつか同じ値に戻り、そこから先は繰り返します。値が m 通りなら、m + 1 項目までにどこかの値が 2 回出るからです (8-7 で扱う鳩の巣原理)。

動かして確かめる

1 本目は、7^n の一の位を並べ、最初の値に戻るまでの長さ (周期) を数えます。

動かす 一の位の周期を数える

python実行可能
出力

▶ 実行ボタンを押すと結果がここに表示されます

実行すると、次の通りに出ます

一の位 [7, 9, 3, 1, 7, 9, 3, 1]
周期 4
2026 mod 4 = 2
表から 9
直接 9

pow(7, 2026, 10) は、7^2026 を 10 で割った余り、つまり一の位を、掛けるたびに余りを取りながら出す書き方です。周期から出した 9 と、直接出した値が一致します。

2 本目は、1 から 9 のそれぞれについて、累乗の一の位の周期を数えます。周期が 4 を超える数があるかを確かめます。

動かす 1 から 9 の周期の表

python実行可能
出力

▶ 実行ボタンを押すと結果がここに表示されます

実行すると、次の通りに出ます

1 [1] 周期 1
2 [2, 4, 8, 6] 周期 4
3 [3, 9, 7, 1] 周期 4
4 [4, 6] 周期 2
5 [5] 周期 1
6 [6] 周期 1
7 [7, 9, 3, 1] 周期 4
8 [8, 4, 2, 6] 周期 4
9 [9, 1] 周期 2

周期は 1、2、4 のどれかで、どれも 4 を割り切ります。理由は、どの整数 a でも a^5 と a の一の位が同じになるからです (a^5 − a はいつも 10 で割り切れます)。だから一の位の数は、n が 1 以上なら、n を 4 で割った余りで縮めて出せます。

3 本目は、差を取る手です。並びを渡すと、差がすべて同じになるまで差を取り続けます。

動かす 差を取り続ける

python実行可能
出力

▶ 実行ボタンを押すと結果がここに表示されます

実行すると、次の通りに出ます

[1, 3, 6, 10, 15, 21, 28]
[2, 3, 4, 5, 6, 7]
[1, 1, 1, 1, 1]
2 回で一定 → 2 次式

2 回差を取ると全部 1 になりました。n の多項式で書ける並びなら、差が一定になるまでの回数が、その式の次数です。

4 本目は、周期の長い例です。フィボナッチ数 (前の 2 つを足した数の並び) の一の位は、何項ごとに繰り返すかを数えます。

動かす フィボナッチ数の一の位

python実行可能
出力

▶ 実行ボタンを押すと結果がここに表示されます

実行すると、次の通りに出ます

mod 2 周期 3
mod 5 周期 20
mod 10 周期 60
F(10^18) の一の位
5

一の位の周期は 60 でした。10^18 番目は手で数えられませんが、10^18 mod 60 番目まで進めるだけで一の位が出ます。ここでは「隣り合う 2 つの組」が最初の組 (0, 1) に戻るまでを数えています。次の値が 1 つ前ではなく 2 つ前まで使って決まるので、組で見ます。

見つけた規則が外れる所

5 項目まで合っても、6 項目で外れる

円の周りに n 個の点を取り、全部の点の組を線で結ぶと、円の中は何個の部分に分かれるかを数えます (どの 3 本の線も 1 点で交わらないように点を取ります)。n = 1 から 5 までは 1、2、4、8、16 で、2 倍ずつに見えます。けれど n = 6 は 32 ではなく 31 です。

動かす 円を分ける数

python実行可能
出力

▶ 実行ボタンを押すと結果がここに表示されます

実行すると、次の通りに出ます

1 1 2 倍なら 1
2 2 2 倍なら 2
3 4 2 倍なら 4
4 8 2 倍なら 8
5 16 2 倍なら 16
6 31 2 倍なら 32
7 57 2 倍なら 64
8 99 2 倍なら 128

正しい数は、点 4 つの組の数 + 点 2 つの組の数 + 1 です (式の理由はこの回では扱いません)。表の 5 項目だけを見て「2 倍ずつ」と決めると、6 項目で外れます。見つけた規則は、もっと先まで数えて確かめるか、「なぜそうなるか」の理由を付けるまでは予想として扱います。

周期の前置きを見落とす

2^n の一の位を「4 で割った余りで決まる」と縮めると、n = 0 で外れます。2^0 = 1 ですが、余り 0 は表の 4 番目の 6 を指すからです。境目の n (0 や 1) は、縮める前に別に確かめます。

表を作るのに時間がかかる

周期が長いと、表を作るだけで手間がかかります。m で割った余りのフィボナッチ数の周期は m が大きいほど長くなりやすく、m = 1000 では 1500 です。周期を探す手間が、そのまま全部を計算する手間を超えないかも見積もります。

仕事とコンテストでどう使うか

規則性を探す手が効く場面は、次の通りです。

  • 曜日、時刻、シフトの割り当て。周期 7 や 24 で余りを取れば、何日先でも 1 回の計算で出る
  • 巨大な n の問題。コーディングテストや競技プログラミングで n が 10^18 のように大きいときは、全部をループで回すと間に合わない。小さい n で表を作り、周期や式を探すのが最初の 1 手
  • 計算量の見積もり。入力の大きさを 1、2、4、8 と増やして手間を数え、差や比を取ると、手間が n に比例するか n² に比例するかが見える
  • テストの値を選ぶ。規則が切り替わる所 (周期の前置き、0、1) を、テストの境目の値に入れる

よくある問い

規則性とはどういう意味ですか

物事が決まった規則に従って並んだり繰り返したりする性質です。数学では、数の並びの次の値や n 番目の値を、前の値や n の式で言えるとき、規則性があると言います。

規則性を見つけるコツはありますか

小さい場合から順に、10 個ほど表にすることです。並べたら、同じ値が戻る所 (周期) を探し、増えていくなら差や比を取ります。手で表を作るのが重いなら、この頁のように Python で並べると速いです。

周期はどうやって見つけますか

最初の値 (または最初の組) が、もう一度出るまでの長さを数えます。次の値が 1 つ前だけで決まるなら値 1 つ、2 つ前まで使うなら隣り合う 2 つの組で比べます。前置きがある並びは、前置きのあとから数えます。

階差数列とは何ですか

隣り合う項の差を並べた数列です。1、3、6、10、15 の階差数列は 2、3、4、5 です。差を取ると規則が見えやすくなり、何回差を取ると一定になるかで、元の並びの式の次数が分かります。

見つけた規則は正しいと言えますか

数えた範囲で合っていても、その先で外れることがあります。円を分ける数は 5 項目まで 2 倍ずつに見えて、6 項目で外れました。仕事では、規則を使った答えと、小さい n で全部数えた答えを照らすテストを書いておくと安心です。

確認クイズ

答えだと思う選択肢を押すと、その場で正誤と理由が開きます。3 問すべてに正しく答えると、この回は修了で、石が緑に変わります (この端末のブラウザに残ります)。間違えた問いは、あとから解き直せます。

1 問目

3 の累乗の一の位は 3、9、7、1 を繰り返します。3^2027 の一の位はどれですか。

2 問目

今日は月曜です。1000 日後は何曜日ですか。

3 問目

並び 2、6、12、20、30 について、正しいのはどれですか。

説明課題

「7^2026 の一の位を、7^2026 を計算せずに出せるのはなぜか」を、表、周期、余りの言葉を使って 3 文で説明してください。書いたら、下の模範解答を開いて比べてください。

模範解答

自分の説明を書いてから開いて、比べてください。

この回の先の一歩

巨大な n を前にしたら、まず小さい n を 10 個並べてみる癖が付くと、コーディングテストで手が止まる時間が減ります。いまの自分が転職までの道のどの段にいるかは、転職診断で確かめられます。

もっと深く

この回の続きを、ゆめさくのコースの章や道具で深められます。頁の中の確認クイズに答えたあと、手を動かす量を増やしたいときに使ってください。

一次資料

どれも 2026年10月30日に開いて、題と中身を確かめました。

次へ

分野 8 考え方の回

  1. 8-1規則性を見つける小さい場合を表にする、周期、差を取るこの回
  2. 8-2偶奇で考える偶数と奇数、変わらない量頁で読む
  3. 8-3余事象少なくとも 1 つは全体から引く頁で読む
  4. 8-4包除原理重なりを足して引く頁で読む
  5. 8-5小問題に分ける分割統治、小さい答えから大きい答え頁で読む
  6. 8-6対称性入れ替えても変わらない物頁で読む
  7. 8-7上界と下界見積もり、鳩の巣原理頁で読む
  8. 8-8コンテストと試験で確かめる全分野の総まとめ頁で読む

分野 8 の頁へ戻るほかの分野を見る