2009-06-01から1ヶ月間の記事一覧

vimperator事始

なんとなく使い始めてみたけど、こりゃすげぇわ(Ver2.0)。 基本 vimと同じようにコマンドモード、入力モード(フォーム等で入力状態)がある コマンド入力途中にTabで補完候補一覧表示 初期設定 表示設定 メニューバー、ツールバー、ブックマークバーが表示さ…

「デジタルネイティブが世界を変える」読了

デジタルネイティブが世界を変える作者: ドン・タプスコット,栗原潔出版社/メーカー: 翔泳社発売日: 2009/05/14メディア: ハードカバー購入: 6人 クリック: 98回この商品を含むブログ (38件) を見る 読みました。ウィキノミクスの人の続編。 物心ついた時に…

Project Euler Problem 21

http://projecteuler.net/index.php?section=problems&id=21 10000未満の友愛数の合計 数学的にうまい方法はあるんだろうけど、定義のまんまごり押しで main = print $ sum $ filter isAmicable [1..10000] isAmicable :: Int -> Bool isAmicable n = let d …

Project Euler Problem 20

http://projecteuler.net/index.php?section=problems&id=20 100!各桁の和 import Char main = print $ sumOfDigits $ product [1..100] --Problem16より sumOfDigits :: Integer -> Int sumOfDigits = sum . map digitToInt . show

Project Euler Problem 19

http://projecteuler.net/index.php?section=problems&id=19 20世紀の月初めの日曜日の数を求める。0を日曜、6を土曜とする。 main = print $ euler19 euler19 :: Int euler19 = euler19' 1900 1 1 where euler19' y m w = if y == 2001 then 0 else let w' …

Project Euler Problem 18

http://projecteuler.net/index.php?section=problems&id=18 以下の三角形の頂点から底辺までの和の最大値(移動ルートは直下の左右のみ) 75 95 64 17 47 82 18 35 87 10 20 04 82 47 65 19 01 23 75 03 34 88 02 77 73 07 63 67 99 65 04 28 06 16 70 92 41 …

Project Euler Problem 17

http://projecteuler.net/index.php?section=problems&id=17 1から1000を英語で書いた場合の文字数 main = print $ length $ foldl1 (++) $ map toWords [1..1000] toWords :: Int -> String toWords 1000 = "one" ++ "thousand" toWords n = let h = n `div…

Project Euler Problem 16

http://projecteuler.net/index.php?section=problems&id=16 21000の各桁の和 import Char main = print $ sumOfDigits $ 2 ^ 1000 sumOfDigits :: Integer -> Int sumOfDigits = sum . map digitToInt . show

Checkstyleのカスタムルール作成と共有

導入しても反発が少なそうなCheckstyleのゆるいカスタムルールを考えてみた。 それとEclipseでのカスタムルール共有方法をメモ。 カスタムルール作成 雛形は既存(プラグイン付属?)の「Sun Checks (Eclipse)」のコピーを使用する(「Sun Checks」よりゆるいル…

Project Euler Problem 15

http://projecteuler.net/index.php?section=problems&id=15 20×20のマス目の左上から右下へのルートは何通りか。 高校の順列・組み合わせ分野であったなこーゆーの。 40C20でおk。 main = print $ conbination 40 20 conbination :: Integer -> Integer -> …

ローマ人の物語4 ハンニバル戦記[中] 読了

ローマ人の物語 (4) ― ハンニバル戦記(中) (新潮文庫)作者: 塩野七生出版社/メーカー: 新潮社発売日: 2002/07/01メディア: 文庫購入: 4人 クリック: 16回この商品を含むブログ (93件) を見る読みました。面白すぎてゲロ吐いた。 第2次ポエキ戦役、ハンニバル…

Project Euler Problem 14

http://projecteuler.net/index.php?section=problems&id=14 100万未満の数字で、その数字から始まるコラッツ数列が最長になる数。 main = print $ euler14 999999 euler14 :: Integer -> Integer euler14 n = toInteger $ (+1) $ length $ takeWhile (< (ma…

Float,Doubleのequalsとfloat,doubleの==

EffectiveJava(2版)のItem8に、equals実装時float(double)は他のプリミティブが==で比較してるのと異なり Float.compareで比較してねと書いてあったので理由を調べてみる。Float.NaNと-0.0fが理由らしいが、詳しくはFloat.equalsのドキュメント見ぃやとあっ…

Project Euler Problem 13

http://projecteuler.net/index.php?section=problems&id=13 50桁の数字100個の総和の上位100桁 nums = [37107287533902102798797998220837590246510135740250, 46376937677490009712648124896970078050417018260538, 7432498619952474105947423330951305812…

「入門 正規表現」読了

入門 正規表現 ~検索・置換・テキスト処理に強くなる!作者: 岩谷宏出版社/メーカー: 技術評論社発売日: 2008/03/07メディア: 単行本(ソフトカバー)購入: 5人 クリック: 362回この商品を含むブログ (33件) を見るMastering Regular Expressions: Understand…

Project Euler Problem 12

http://projecteuler.net/index.php?section=problems&id=12 501個以上の約数を持つ最初の三角数 main = print $ fst $ head $ filter (\x -> (snd x) > 500) (map (\n -> (n, factorsNumber n)) triangleNumbers) --約数チェックは平方根未満まで(ペアの約…

「僕が2ちゃんねるを捨てた理由」読了

僕が2ちゃんねるを捨てた理由 (扶桑社新書 54)作者: ひろゆき出版社/メーカー: 扶桑社発売日: 2009/05/29メディア: 新書購入: 20人 クリック: 1,096回この商品を含むブログ (99件) を見るタイトルの話題は最初の方にちょっとだけ出てくるだけなので注意。 ま…

Project Euler Problem 11

http://projecteuler.net/index.php?section=problems&id=11 与えられた行列の上下左右斜めいずれかで連続する4つの数字の積のうち最大のもの nums = [[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,4…

Project Euler Problem 10

http://projecteuler.net/index.php?section=problems&id=10 200万以下の素数の和 main = print $ foldl1 (+) (primeList 1 2000000) primeList :: Integer -> Integer -> [Integer] primeList n max = let x = nextPrime n in if x > max then [] else [x] …