Loading [MathJax]/jax/output/HTML-CSS/jax.js

2018年3月31日土曜日

学習環境

数学読本〈6〉線形写像・1次変換/数論へのプレリュード/集合論へのプレリュード/εとδ/落ち穂拾い など(松坂 和夫(著)、岩波書店)の第23章(数学の中の女王 - 数論へのプレリュード)、23.2(合同式)、合同式の除法、問8.を取り組んでみる。


  1. 210=102424(mod100)

    よって求める余りは24。

    220=(210)2242-2476(mod100)

    よって求める余りは76。

    2100=(210)102410=(242)5(-24)5=-245=-24(242)2-24(-24)2=-24·242242-2476(mod100)

    よって求める余りは76。

    2100-1-24-1=-2575(mod100)

    よって、求める余りは75。

    (2100-1)99(-25)99=-2599-2575(mod100)

    よって、求める余りは75。

    (2100-1)10075·75=9·2529·25=22525(mod100)

    よって、求める余りは25。

コード(Emacs)

Python 3

#!/usr/bin/env python3

nums = [2 ** 10, 2 ** 20, 2 ** 100, 2 ** 100 - 1,
        (2 ** 100 - 1) ** 99, (2 ** 100 - 1) ** 100]
for n in nums:
    print(n % 100)

入出力結果(Terminal, Jupyter(IPython))

$ ./sample8.py
24
76
76
75
75
25
$

HTML5

<pre id="output0"></pre>
<button id="run0">run</button>
<button id="clear0">clear</button>

<script src="sample8.js"></script>

JavaScript

let pre0 = document.querySelector('#output0'),
    btn0 = document.querySelector('#run0'),
    btn1 = document.querySelector('#clear0'),
    p = (x) => pre0.textContent += x + '\n';

let nums = [2 ** 10, 2 ** 20, 2 ** 100, 2 ** 100 - 1,
            (2 ** 100 - 1) ** 99, (2 ** 100 - 1) ** 100];

let output = () => {
    p(nums.map((n) => n % 100).join('\n'));
};

btn0.onclick = output;
btn1.onclick = () => pre0.textContent = '';
output();
24
76
76
76
NaN
NaN

0 コメント:

コメントを投稿