AtCoder ABC Q110の問題DをHaskellで解いてみました

AtCoder ABC Q110の問題DHaskellで解いてみました

問題

正整数 N,M が与えられます。

a1×a2×…×aN=M となる正整数からなる長さ N の数列 a が何通りあるかを 10^9+7 で割った余りを求めてください。

ただし、数列 a' と a'' が異なるとは、ある i が存在して ai'≠ai'' であることをいいます。

制約
入力はすべて整数である
1≤N≤10^5
1≤M≤10^9
続きを読む

javascriptでdomの正確な位置を取得したい

javascriptでdomの位置を取得するための関数を作成してみました。domの位置として画面上の左上の位置を基準とした座標とdocument上の左上の位置を基準(スクロールを含めたもの)とした座標があると思いますが、その両方を求めれるようにしたいと思います。

続きを読む

IndexedDBを試してみる

IndexedDBを試してみる

ブラウザ上のデータを保存したい場合FileSystemAPIがありますが、これは非推奨のようなので代わりに使えそうなのを探していたところIndexedDBが良さそうなので試して見たいと思います。

IndexedDBの使い方はmozillaのサイトを見たらわかると思います。

続きを読む

ECMAScript2015のProxyを使ってobjectの値の変更を検出する

ECMAScript2015でobjectの値の変更を検出して関数を実行する場合、以前であればObject.prototype.watchの機能があったのですが現在では非推奨および廃止とのことなのでECMAScript2015から導入されたProxyの機能を使って値の変更を検出したいと思います。

MDNのサンプルでは以下のようにProxyに対して監視対象のobjectの初期値とイベントハンドラを渡していて、帰ってきたobjectの値を参照しようとした時にイベントハンドラのget関数が実行されていることが確認できます。

続きを読む

ロジスティック回帰を実装してみる

ロジスティック回帰

2クラス分類のロジスティック回帰をPythonで実装して見たいと思います。

C1, C2の2クラス分類についてクラスC1の事後確率は以下のように表せられます。

続きを読む

ECMAScript6でthisを束縛する方法について

ECMAScript6でthisを束縛する方法について検証した際のメモ

まずダメな例として、以下は画面クリックの際に呼ばれる clickFunc から this.calledFunc() を呼び出すことはできません。クリックに反応したelementがthisになるため、この場合はリスナーが設定されたdocumentがthisになりthis.calledFunc()を呼び出すことはできません。

続きを読む

webpack入門_typescript

公式のドキュメントを参考にwebpackをTypescriptに対応させたいと思います。

まず以下のコマンドでtypescriptとts-loaderをインストールします。

npm install --save-dev typescript ts-loader

続きを読む