2011-10-29
Project Euler 33
問題はこちら。
Raitoモジュール素晴らしいです。
こんなものがあったんですね(今更…orz
でもこの問題、イマイチ解ってません。
分子/分母のそれぞれの2桁をab/cdと表したとして、
キャンセルされるのって常にbとcだけなんですか?
aとdやbとdがキャンセルされて問題の条件満たすことってないのでしょうか。
そこがよく解らないんですが、なんだかみなさんのコード見てるとそうみたいなので、
もうそんな感じにしちゃいました(ぉぃ。
たぶん自分の頭があまりにも悪くて、
単純な算数の問題に気づいていないだけだと確信していますが…。
うーん…本当によく解らない。
どうしてだろ。
import Data.Ratio --約分した形で与えてくれる。f 49 98 なら 1 % 2 って返ってくる。 f :: Ratio Integer -> Ratio Integer -> Rational f n m = n / m --分母・分子のそれぞれの桁に数字を入れていき、 --問題の条件に合うものだけを抽出。 x :: [Rational] x = [ f a c | a <- [1..9], b <- [a..9], c <- [a+1..9], f (10 * a + b) (10 * b + c) == f a c ] --denominatorは分母を返すんだね!おにいちゃん! main = print $ denominator $ product x
トラックバック - http://d.hatena.ne.jp/Mr_Tsubaki/20111029/1319868144
リンク元
- 2 http://ezsch.ezweb.ne.jp/search/?sr=0401&query=僕の奥さん
- 2 http://www.google.co.jp/reader/view/
- 1 http://k.hatena.ne.jp/keywordblog/Haskell
- 1 http://reader.livedoor.com/reader/
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=twitterbot mention python&source=web&cd=2&ved=0CCIQFjAB&url=http://d.hatena.ne.jp/Mr_Tsubaki/20111007/1317989965&ei=-rmsTq2iEqzDmQWpx8zkDg&usg=AFQjCNFAKny3nKbOWFP2sAgm_imsiOOOMg
