算額あれこれ

算額問題をコンピュータで解きます

2015-10-01から1ヶ月間の記事一覧

言語処理100本ノック 第2章 : UNIXコマンドの基礎

東北大学の乾・岡崎研究室で公開されている言語処理100本ノック(2015年版)http://www.cl.ecei.tohoku.ac.jp/nlp100/ を、R言語で解く。同趣旨のページ https://rpubs.com/yamano357/85313 では, library(dplyr)library(stringr)library(stringi)なんかを…

言語処理100本ノック 第1章 : 準備運動

東北大学の乾・岡崎研究室で公開されている言語処理100本ノック(2015年版)http://www.cl.ecei.tohoku.ac.jp/nlp100/ を、R言語で解く。同趣旨のページ https://rpubs.com/yamano357/84965 では, library(dplyr)library(stringr)library(stringi)なんかを…

BASP の「P 値禁止,CI も禁止。ベイズ推定にも乗り気でない」

> 一般的な心理学実験よりもサンプル数を多くすることを奨励する。なぜなら、サンプル数が多いほど記述的統計の安定性が増し、標本誤差の問題が相対的に低くなるためである これは,訳の問題なんだろうけど,「サンプルスウ」という用語を使っているだけで,…

マイナンバーのチェックディジット(その2)

ニュースなどで,マイナンバーの例として 123456789012 なんてのが示されるが,そんなマイナンバーはない。 > func(123456789012)[1] "NG" > func(12345678901)[1] 8> func(123456789018)[1] "OK"先頭 11 桁が 12345678901 ならば,最終桁は 8 でなければな…

マイナンバーのチェックディジット

以下の関数は,12 桁のマイナンバーを与えると誤入力の有無を通知する。11桁を入力するとチェックディジットを返す。 func = function(n) { s = as.character(n) n = nchar(s) if (n < 11 || n > 12) return("Error") s = as.numeric(unlist(strsplit(s, "")…

シフトと加算

装置がある。装置にはディスプレイがあり,そこには最初 1 と表示されている。ディスプレイの下には[+1]と[×2]という 2 つのボタンがある。それぞれ,ディスプレイに表示されている数に 1 を加える,2 倍する,という機能だ。ディスプレイある数を表示す…

実数を分数で近似

実数 x,0.1 ≦ x ≦ 10 を,近似誤差が最も小さくなるような分数で表せ。ただし,分子,分母共に 6 桁以内の整数とする。たとえば,x = 1.618033963166706... の場合は,6765 / 4181 である。 変数名を長くしたので複雑そうに見えるが,実に簡単。for 文を使…

左右対称な二進数

m より大きく,n より小さい数のうち,次の条件を満たす整数はいくつあるか条件:元の数を二進表記し,左右反転したものを十進に直したとき,元の数と同じになるなにもねえ,左右反転して十進に直すなんてしなくてよいよ。二進数が左右対称であるかどうかみ…

法による計算

10 進数の自然数 n(1 ≦ n ≦ 1010)に対して,16 進数の A を n 個並べた数を F(n) と定義する。F(n) を 10 進数で表したものを 106 で割った余りを出力する。 例えば,F(10) を 10 進数で表すと 733007751850 で,この数を 106 で割った余りは 751850 であ…