追記 2010/08/20 13:21:22: ubuntu10.04以降ではhaskellのバージョンが上がって以下の問題は起きないらしい。 http://www.sampou.org/cgi-bin/w3ml.cgi/haskell-jp/msg/480 追記ここまで そこで色んな対処方があるのですが、utf8-string という素敵なパッケ…
rubyでフォルダ構造維持しながらファイルをコピーする xcopyみたいな形で第2引数に第1引数のディレクトリ以下のファイルをコピーする 第2引数のフォルダがなかったら作る src,dest=ARGV[0]||"a",ARGV[1]||"a_dash" Dir.exist?(dest)||Dir.mkdir(dist) Dir.gl…
10以下の素数の和は2 + 3 + 5 + 7 = 17である. 200万以下の全ての素数の和を計算しなさい. 昨日取得した素数列を生み出す関数ですぐ終わると思ったが計算時間が半端じゃなかった main=print $ sum $takeWhile (<2000000) primes primes = sieve [2..] sieve …
三角数の数列は自然数の和で表わされ、7番目の三角数は 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 である。 三角数の最初の10項は1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... となる。最初の7項について、その約数を列挙すると、以下のとおり。?1: 1?3: 1,3?6: 1,2,3,6…
以下の50桁の数字100個の総和の上位10桁を求めよ。37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 74324986199524741059474233309513058123726617309629 919422133635741615725224305633018110724…
2^15 = 32768 であり、これの各数字の合計は 3 + 2 + 7 + 6 + 8 = 26 となる。同様にして、2^1000 の各数字の合計を求めよ。 簡単そうなのですぐやってしまった。 read [c]+0 がきもちわるいけど… Prelude> foldl (\x y->x+(read [y]+0)) 0 $ show (2^1000) …
08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91…
以下の1000桁の数字から5つの連続する数字を取り出して その積を計算する。そのような積の中で最大のものの値はいくらか73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 8586156078911294949545950…
まさか… そんなまさか… さっき id:nobsun さんに教えてもらった [(i,j)|i<-[1..10],j<-[i+1..10]] が組合せだったなんて… Prelude> mapM_ print $ map (\x->[(i,j)|i<-[1..x],j<-[i+1..x]]) [2..6] [(1,2)] [(1,2),(1,3),(2,3)] [(1,2),(1,3),(1,4),(2,3),(2…
ピタゴラスの三つ組(ピタゴラスの定理を満たす自然数)とはa
haskellで文字列を数字に変換するにはreadを使う。 ただしreadは多相型なので後ろに型の識別子が必要。 Prelude> :type read read :: (Read a) => String -> a Prelude> read "123" <interactive>:1:0: Ambiguous type variable `a' in the constraint: `Read a' arising </interactive>…
Problem 7 † 素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。10001 番目の素数を求めよ。 再起で素数は難しいよ 値を引き回すのが面倒でしょうがない。 main = (putStrLn.show) problem problem = last $ primeList 10…
Problem 6 † 最初の10個の自然数について、その和の二乗と、二乗数の和は以下の通り。1? + 2? + ... + 10? = 385 (1 + 2 + ... + 10)? = 3025 これらの数の差は 3025 - 385 = 2640 となる。同様にして、最初の100個の自然数について和の二乗と二乗の和の差を…
2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり、そのような数字の中では最小の値である。では、1 から 20 までの整数全てで割り切れる数字の中で最小の値はいくらになるか。 あれ?ghc6.10からlcmが実装されていたはずなので… main = putStrL…
左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。 文字列に変換する方法にしばらく悩んだ 単なるshow…
ubuntuのコマンドラインでgoogleのjavascriptエンジンであるv8を動かしてみよう。 $ sudo aptitude install subversion scons libreadline-dev $ svn co http://v8.googlecode.com/svn/trunk/ v8-read-only $ cd v8-read-only $ CXX=g++-4.1 scons d8 consol…
久しぶりに暇してるのでeulerをやってみることにした。問題は以下 http://projecteuler.net/index.php?section=problems日本語訳も見つけたのでここからコピペしながら進行 http://odz.sakura.ne.jp/projecteuler/index.php?Project%20Euler 問題1 10未満の…
仕事の分割 - 計算機と戯れる日々を考えてたんだが、並列プログラムを組むためのスキルというよりはそのためのテンプレートとか例題とかが不足してるんだな。 シングルマシン上におけるマルチタスクはOSがやってくれているため、ライブラリを使えば十分(…
なんかはてなが全般的に遅い。アルゴリズムがまずくなってるなら(いつものことだから)いいんだけど…もしかしたら設備をケチってる? 倒産したりしないよね?バックアップ取った方がいいんだろうか…ってはてな記法使いまくってるからどうしようもないなこりゃ…
もっとも出てほしくないブロックが出るHATETRIS @ Things Of Interestをやってみた。5行が限界だった。リプレイデータは以下 C002 AAAA AAAA B01A AAAA AAAC AAAA AA7E AAAB 6AAA AA9A B000 00AA AAAA AAB0 0AAA AAAC 0AAA AAAA C2AA AAAA ACAA AAAA ABAA AA…
シンプルと感じているのは自分だけの可能性 - 計算機と戯れる日々を読み直してたら最近思い当たることがある。人が「できない」と考えるのは自分の経験に基づいて判断している。集団で開発プロジェクトを動かす際にも誰に何をさせるかを決めなければならない…
http://law.e-gov.go.jp/announce.html#shinki ここを見ると「7,384 法令」とある。こんなにあるんだよな。 では実際に 法令データ提供システム にて全量を調べてみる。 require 'nkf' require 'net/http' require 'uri' require 'cgi' awa="あいうえお…
rosegardenでドラムを入力しているときデフォルトのfreepatsではバスドラムの音色が弱いのでfluidを入れることにした。 $ sudo aptitude install fluid-soundfont-gm $ sudo vi /etc/timidity/timidity.cfg timitdity.cfgをfluidr3_gm.cfgのコメントアウトを…
ubuntuの壁紙作りたくなった。ロゴフォントをインストール $ sudo aptitude install ttf-ubuntu-titleこれだけ。作ったロゴ フォント情報をパスに変換したSVGは以下。
ubuntuのデフォルトのffmpegではmp3をエンコードできない $ ffmpeg -formats | grep mp (中略) DEA mp2 MP2 (MPEG audio layer 2) D A mp3 MP3 (MPEG audio layer 3) (中略)これみるとmp2にはEがついているため $ ffmpeg -i a.flv a.mp2にて変換できるが、mp…
gnome-terminalのビープ音をPCMにすることをずっと昔から探しているんだがなかなかできない。しかもubuntu9.10からではpcspkrさえ止められている。 $ grep pcspkr /etc/modprobe.d/blacklist.conf blacklist pcspkrどうして、pcspkrをエミュレートするモジュ…
pop3やimapをアクセスする場合にはメールヘッダの解析をライブラリがやってくれるんだがfetchmail,procmailにてメールを加工するときに適当なライブラリが存在していないし、そこら辺にも転がっていない。ので作った。 open("mail.txt").read=~/\A(.*?)\n\n(…
6枚開いたので記念アップ
1TBのファイルシステムが95%になってしまったので2TBへ移行 ほんとは、1.5TBと2TBでは値段が倍違うのだが最近いじる暇がなくなっているので先のこと考えて2TBにした。 (ヨイコのみんなはリーズナブルな1.5TBを買うんだぞ) $ df /dev/sda? 922947516 8280796…