プログラム

Pythonで数字根を求める

数字根 - Wikipedia #!/usr/bin/env python import sys; def digitalRoot(n): result = 0 for ch in str(n): result = result + int(ch) return result if len(str(result))==1 else digitalRoot(result) print digitalRoot(sys.argv[1])

フィボナッチ数を求める関数、Pythonで書いたらPerlの百倍くらい早かった。

4. その他の制御フローツール — Python 3.7.3 ドキュメント ↑を参考にPythonで書きなおしたらPerlの100倍位速い。やっぱりC++には負ける。…Cで書き直すとすごく速くなるのかな。 #!/usr/bin/env python import sys def fib(max): ii,n,m = 0,1,1 while ii

フィボナッチ数を求める関数、Perlで書いたのをそのままC++にしたら200倍速くなったw

C++で多倍長整数ライブラリGMPを使う - 簡潔なQ ↑を参考に(そのままだ)、 Perlで算数 フィボナッチ数 - べれ野日記 ↑をC++で書きなおした。 #include <iostream> #include <gmpxx.h> mpz_class fib(int max){ mpz_class n,m,f; n = 1; m = 1; for(int ii=0; ii</gmpxx.h></iostream>

SL4Aで書いたけどあんまり関係ない

#!/usr/bin/perl -w use android; my $droid = Android->new(); #print "hello\n"; # 1 # 1 1 # 1 2 1 # 1 3 3 1 # 1 4 6 4 1 # - # 0 0 # 0 0+1 1 # 0 0+1 1+2 2 # 0 0+1 1+2 2+3 3 sub pascal{ my ($n) = @_; return 1 if $n eq 0; my @before = pascal($n…

これは先程のより前に書いた、コードのシンプルだけど大きい桁まで求められないフィボナッチ関数。

#!/usr/bin/perl -w use strict; use bigint; sub fib{ my ($n) = @_; $n <= 1 ? 1 : fib($n-2)+fib($n-1) } my $f = fib(@ARGV); print "$f\n"; やはり大きな数値を求められないのでは実用性に欠ける…(なんの実用性?)。 またまだバグっているためまた今…

これでフィボナッチ 100000とか求めることができるぜ!

#!/usr/bin/perl -w use strict; use bigint; print sub{ my ($max) = @_; my ($n,$m) = (1,1); my $f; for(my $ii=0;$ii<$max;$ii++){ $f = $n + $m; $n = $m; $m = $f; } $n; }->(@ARGV)."\n";

今日は素因数分解

#!/usr/bin/perl -w use strict; sub primes{ my ($n) = @_; my @searchList = 2..$n; my @primes; while(@searchList and $searchList[@searchList-1] > $n**0.5){ my $prime = shift @searchList; push @primes, $prime; @searchList = grep{$_ % $prime!=…

エラトステネスの篩 - Wikipediaをまっすぐ実装した。つもり。 #!/usr/bin/perl -w use strict; my ($n) = @ARGV; my @searchList = 2..$n; my @primes; while(@searchList and $searchList[@searchList-1] > $n**0.5){ my $prime = shift @searchList; push…

自宅環境にSBCL+SLIMEインストール

寝る前に難しい本を読むと眠くなるらしいから、On Lisp作者: ポールグレアム,野田開,Paul Graham出版社/メーカー: オーム社発売日: 2007/03/01メディア: 単行本購入: 10人 クリック: 146回この商品を含むブログ (128件) を見るこれ↑を読んでいたらやっぱりわ…

資格をとろう!

っつーわけでSunテキスト Sun Certified Programmer for Java 2 Platform 5.0問題集 Exam[310-055] SKILL-UP TEXT作者: 原一郎,宮本信二出版社/メーカー: ソフトバンククリエイティブ発売日: 2007/09/01メディア: 単行本購入: 1人 クリック: 32回この商品を…

と言う訳でプログラマ向けのDropboxの紹介を書いてみます。 Dropboxでプロジェクト管理がしたい!(1) いや、真面目なプロジェクト管理ではなくって、個人が自分のサンプルプログラムとか、オープンソースとか、小規模なプロジェクトとか、ツールとかを管…

で、やっとこさっとこサンプルが動くようになったので、色々試しているうちにPC室*1に子供が乱入。 しょうがないのでマーカを持たせてティーポットが表示されるのを見せてあげるとすげえ勢いで狂喜乱舞していた。 課題 マーカ歪むと認識できない模様。固いも…

id:emergentさんのおかげでARToolkitがmakeできた! とりあえずsimpleLiteを動かして見たのでうp。 ありがとうです>id:emergent部屋が汚いとか言うツッコミは自粛の方向でお願いします。

ARToolkitをダウンロードしてきてmakeしたけれども、エラーが出て動かない。 No video config string supplied, using defaults. error: acquireing channel(0) info setupCamera(): Unable to open connection to camera. main(): Unable to set up AR came…

Postscriptファイルを読み込んで、上に何か書き込むテスト。 とりあえず座標系だの文字コードだのは後で気にすることにする。 そのうちPDF→変換→Postscript→上から名前とかレベルとか書き込む→変換→PDFとかできるようになると、キャラシーとか印刷できるよう…

数学ガールフェルマーの最終定理 数学ガール/フェルマーの最終定理 (数学ガールシリーズ 2)作者: 結城浩出版社/メーカー: SBクリエイティブ発売日: 2008/07/30メディア: 単行本購入: 35人 クリック: 441回この商品を含むブログ (259件) を見る 実践Common Li…

ここまで触ってみた。 App Engine では、ハンドラをコーディングしなくても、特定のファイルを直接供給するよう設定できます

と言う訳でGoogle App Engineを触りはじめた。 とりあえずGetting Started。 App Engine のインフラは、シンプルな API を使って、データの配布、複製、負荷分散を一手に引き受けます この辺まで。

万有引力シミュレータ。 wireFrame.pyを修正してその上で動かす。 …次は影をつけよう。やっぱりアレがないと動いてる感じがしない*1。 *1:特にスクリーンショット上で

タートルグラフィックスを少しずつ改修。 色を変えたり太さを変えたり、clearできるようになったりした。 青い螺旋。

結構進んだ。近年に比べると異例。まいとしこーなるといいなあ。 あと、タートルグラフィックスの3D版を作りたかったなあ。

と言う訳で、下のエントリ書きながらタバコすってたら「ここだー!」とかダメなところを思いついてしまったので直してうp。 up/downは上下の角度修正になっているので、penUp/penDownでペンの上げ下ろしを行う。 あと、backはないのでforwardしかない。 クリ…

所感

今日弟2がウチに来て少し話したんだが、初心者のヒトと屈託なく喋ると結構意識の違い?みたいなものを感じる。 サンプルプログラムで百行は長いらしい …これ以上短くするのは大変なんですけどね。 やっぱり最近はJavaで、JavaだったらEclipse使うらしい でも…

渦巻き配置。 n×nの配列に0〜n×n-1の整数列を中央から渦巻き状に配置する。 問題をくれた弟2に感謝。 やっぱりguiはつけてないのでこんな感じで使う。 >>> rollLayout(5) [[20, 21, 22, 23, 24], [19, 6, 7, 8, 9], [18, 5, 0, 1, 10], [17, 4, 3, 2, 11], […

衝突シミュレータ3D版。 やっぱりどうみても衝突時の計算式が少しあやしい気がする。 左クリックでボールの生成、右ドラッグアンドドロップで衝突用のボールを(ドラッグアンドドロップ中だけ)生成。 下のスライダはフレームの軸回転、ビューの遠さの調整。

衝突シミュレーション。 左クリックでボール生成、ボールを右ドラッグアンドドロップで動かせる。 ボールがぶつかるとその時のスピードで動き出す。 …計算式が適当なので真面目に勉強しようと思ったが挫折した。

五線譜を演奏する?プログラム今後の予定 ソースコードを可愛くする 休符が必須 8分音符とかそーいうのも必要 ト音記号とか 和音入力? 小節の区切りが欲しい play中に現在位置がわかるようにしたい これは一回失敗してる 長い楽譜を作れるようにしたい

五線譜を演奏する?プログラム続き。 音符に尻尾がついた 音符を右クリックすると長さが変更されるように(4→2→1→4…) なんとなく4分音符を0.25秒に 一応音楽っぽいものが出るようになった。画像は「むすんでひらいて」 まだあまりにも汚いプログラムなんで…

五線譜を演奏する?プログラムを作る。 とりあえず、マウスをクリックすると音符ができて、playできるところまで。 …もうすこしスマートなプログラムにしたい。 …暑くってやる気が起きない。

この前のピアノっぽいアレを奥様に見せたら、「何か変」とか言われました。 黒鍵が長いのがお気に召さない模様。 …でも今日はもういっぱいいっぱいなので、またこんどかなー。