2018年1月23日火曜日

学習環境

代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、6(同値関係、合同式)、問題10.を取り組んでみる。


  1. 2 100 = 2 10 10 2 10 = 1024 24 m o d 100 2 100 - 1 99 2 4 10 - 1 99 m o d 100 2 4 2 = 576 - 24 m o d | 00 2 4 10 - 24 5 m o d 100 2 4 10 - 2 4 5 2 4 2 - 24 m o d 100 2 4 10 - 1 99 - 24 - 1 99 - 25 99 m o d 100 2 5 2 25 m o d 100 - 25 99 - 2 5 99 - 25 75 m o d 100 2 100 - 1 99 75 m o d 100

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

コード(Emacs)

Python 3

#!/usr/bin/env python3


def mod(a, b, m):
    return (a - b) % m == 0


print(mod((2 ** 100 - 1) ** 99, 75, 100))

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

$ ./sample10.py 
True
$

HTML5

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

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

JavaScript

let pre0 = document.querySelector('#output0'),
    run0 = document.querySelector('#run0'),
    clear0 = document.querySelector('#clear0'),
    p = (text) => pre0.textContent += text + '\n',
    clear = () => pre0.textContent = '',
    mod = (a, b, m) => (a - b) % m === 0,
    output = () => {        
        p(mod((2 ** 100 - 1) ** 99, 75, 100));
        p((2 ** 100 - 1) ** 99);
    };

run0.onclick = output;
clear0.onclick = clear;
output();
















						

0 コメント:

コメントを投稿