2018年 3月 の投稿一覧

web3とpromiseの組み合わせやっとしっくり来た

web3とpromiseの組み合わせやっとしっくり来た

このタイミングでpromise使えば、EVMと通信後に処理を進められる。

素因数分解

素因数分解

むかし2ch作ったひろゆきが、
CUBEというカナダの映画をみた。素数はすごいと言っていたので、
素因数分解してくれる便利な関数を書いた。

バブルソート

バブルソート

32bit16進数の文字列をint[32]に変換

32bit16進数の文字列をint[32]に変換

int[32]は要素数32のint型配列。

Solidityのkeccak256()は本当に分散した値を生成しているのか確認した。
結果はOK。

keccak256()の戻り値はbytes32。
keccak256()を入力をずらしながら1000回実行して、
1000個のbytes32文字列を取得して、
JavaScriptで全部8bitずつ数値に変換して、
出現頻度を調べた。

告白成功確率 20% の男がひとりの彼女を 80% 以上の確率で獲得できる告白の回数 : 8回

告白成功確率 20% の男がひとりの彼女を 80% 以上の確率で獲得できる告白の回数 : 8回

この計算は会社員時代に業務時間中にさんざん計算練習していた課題。
いろいろ感動的な結果が得られる。
感動ポイント
1.
試行回数を増やすほど解析解と計算解の差がなくなる
2.
告白成功確率は60%から70%に上げてもそんなにいいことはないが(2回→2回)
、5%と10%では雲泥の差である(挑戦回数 32回→16回)

だから、現在勝率が低いひとほど努力をする価値が大きいというわけ!!

もちろん、彼女の獲得だけにとどまらない。
会社経営が成功する確率とか、ね。

そして、現実世界では、成功確率は挑戦毎に一定ではない←重要!!!

solidityでクイックソート

solidityでクイックソート

storage領域はめっちゃ書き換えるより最後に完成品を代入したほうがよさそう。
詳しいことは知らないけれど。

https://ethfiddle.com/7SYPK8FEVO

きつくないcolor_id一覧を表示する(改善)

きつくないcolor_id一覧を表示する(改善)

function generateSafeColorIds(num)
↑この関数にした

きつくないcolor_id一覧を表示する

きつくないcolor_id一覧を表示する

きつい色をNGにするアルゴリズム。pythonのコードをjsに書き換えた

きつい色をNGにするアルゴリズム。pythonのコードをjsに書き換えた