studies

いろいろ勉強用備忘録的な感じ

2017-03-01から1ヶ月間の記事一覧

C言語のdigraphsを使ってみる

完全に小ネタ。ISO/IEC 9899:1999によると、 In all aspects of the language, the six tokens(67 %: %:%:behave, respectively, the same as the six tokens[ ] { } # ##except for their spelling.(68 67) These tokens are sometimes called ‘‘digraphs’’…

ぐるぐるとまだ回る君の影 どこにも行けずに春が来る

社会人になって一年が経過した。同時に、プログラマになって一年だ。今自分の職業について思っていることを徒然に書いてみる。 プログラマはプログラムを作る人 プログラムとは予定表の意味だ。 だから、プログラマとは予定表を作る人に他ならない。 プログ…

GIFのバイトオーダはリトルエンディアンです!ビッグエンディアンじゃありません!

ふーんという感じですが、specificationにも記述があります。 https://www.w3.org/Graphics/GIF/spec-gif89a.txt Multi-byte numeric fields are ordered Least Significant Byte first. 『入門 Python3』のp216の記述は誤植ですね(とても混乱するので、エ…

高速化フィボナッチの計算量の理想と現実

前回書いた高速化フィボナッチでは、計算量をと見積もった。 今回はこの見積もりの妥当性を検討する。まず、 >>> from my import fib >>> from timeit import timeit >>> from matplotlib import pyplot as plt >>> x = range(2**7) >>> y = [ timeit('fib({…

pythonでフィボナッチ高速化

激しく既出という気がするけど、行列を使ってフィボナッチを高速化する。その前に、の計算を高速化するアルゴリズムを確認しておく。 def my_pow(x, n): if n == 0: return 1 elif n % 2: return x * my_pow(x, n-1) else: half_pow = my_pow(x, n/2) return…

SQLite3でちょっと複雑なソート

SQL

studies.hatenablog.com studies.hatenablog.com応用情報の勉強をしなければならない。 といっても、なかなか腰が上がらないものである。 気づけば日曜日の夜である。 今回は普段触らないSQLで例の問題を解く。 きっと、応用情報の役に立つはずだ(?)今、c…

pythonとhaskell, perl6で加重平均

python。 最後はnumpyの内積(ドット積)を使っている(ずるい?) >>> weight = [ 0.22, 0.14, 0.04, 0.12, 0.22, 0.26 ] >>> record = [ 64, 51, 132, 24, 19, 11 ] >>> sum( a * x for (a, x) in zip(weight, record) ) 36.42 >>> sum(map(lambda a, x: a…

void *p = &p : 自分自身を参照する初期化の問題

久しぶりの投稿はちょっと変な話。次のように、自分自身を参照するポインタを作ってみる。 #include <stdio.h> int main(void) { void *p = &p; printf("%p\n", p); return 0; } 自分の環境では、普通にコンパイルが通る。 そして、実行するたびに結果が変わる(実行</stdio.h>…