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

Problem 195

Inscribed circles of triangles with one angle of 60 degrees Problem 195 - Project Euler 前にやった問題で似たようなものがあった(たしか,トリチェリの三角形だった気がする). はじめは,外接円だと思っていた. import Control.Monad (guard) p195 r…

Problem 193

Problem 193 - Project Euler 平方数で割り切れない2^50以下の数を数える. メビウス関数と包除原理を利用. import Control.Monad.ST (ST,runST) import Control.Monad (when) import Data.Array.ST (STUArray,newArray,readArray,writeArray) p193 :: Inte…

Problem 194

Coloured Configurations Problem 194 - Project Euler 困難は分割せよ.ということで,それぞれのユニットごとの塗り分けパターンを考えてみた. 結果. choose :: (Integral a) => a -> a -> a choose n r = div (product [n-r+1..n]) $ product [1..r] p1…

texをコンパイルして自動でpdfを開く

beamer使っているとdviではうまく表示されないことがあるので,pdfまで作る必要がる. しかし,pdfを開いたままだとpdfを作れない. これで一度閉じてdvipdfmxを走らせる.pdfopenで開く.便利. 次のファイルをtex2pdf.batとかして保存. rem pdfclose and p…

突然

さっき,突然PCが落ちました. 電源入れなおしたら,正常起動したけれども. あー,こりゃ,もう,やばいかも… PCの故障は困るんだよなぁ… とりあえず,バックアップ取っておくか.

Problem 192

Problem 192 - Project Euler 最良近似有理数とでも呼ぶのでしょうか. 探索範囲と√nの形から,どうやら連分数と関係がありそうだ,と思っていたら, Continued fraction - Wikipedia あとはSemiconvergentsの単調性を利用. import Data.List ((\\)) import…

Problem 188

Problem 188 - Project Euler これは前に解いた. import Number (factors) import Data.List (group) phi :: Integer -> Integer phi = product.map f.group.factors where f ps@(p:_) = let n = length ps in p^(n-1)*(p-1) towerMod :: Integral a => Int…

tex 表

セルの結合(横) \multicolumn{2}{|c|}{foo} セルの結合(縦) ただし\usepackage{multirow} が必要. \multirow{2}{*}{bar} \cline{2-3} などと一緒に使う. 太い水平線 \hline のかわりに \noalign{\hrule height 1pt} 記号結合(?) \begin{tabular}[tb…

Problem 191

Problem 191 - Project Euler 素直なDP. import Data.Map (Map,unionsWith,filterWithKey,mapKeysWith,fold,singleton) type State = (Int,Int) late,onTime,absent :: State -> State late (a,l) = (0,l+1) onTime (_,l) = (0,l) absent (a,l) = (a+1,l) da…

Problem 190

Problem 190 - Project Euler ラグランジュの未定乗数法を使うだけ. import Data.Ratio ((%)) p :: (Integral a, Integral b) => a -> b p m = floor.product $ [(2*n % (m+1))^n | n <- [1..m]] p190 :: (Integral a, Integral b) => a -> b p190 m = sum.…

Problem 189

Problem 189 - Project Euler まぁ,DPですな. import Data.List (delete,nub) import Data.Maybe (mapMaybe) import Data.Map (fromListWith,toList) import Control.Arrow ((***)) data Color = R | G | B deriving (Eq,Ord,Show) normal :: [Color] -> […

Problem 187

http://projecteuler.net/index.php?section=problems&id=187 まぁ,関数型ではやりにくい. とりあえず,javaで. 非常にシンプルな,ふるいを使ったアルゴリズム. import java.util.Arrays; public class P187{ public static void main(String[] args){ …