2010-04-01ãã1ã¶æéã®è¨äºä¸è¦§
http://projecteuler.net/index.php?section=problems&id=36 10é²ã®åææ°ãå帰çã«çæãã¦ãããã2é²ã§åæã«ãªã£ã¦ãããã調ã¹ãã
http://projecteuler.net/index.php?section=problems&id=21 Sequenceã¯é 延è©ä¾¡ãããã§ãã大ããªSequenceãã¡ã¢ãªãé£ããã¨ã¯ããã¾ããã let N = int64 1e8 printfn "%d" (Seq.sum (seq { 1L..N }))Seq.toListãListãä¸ã«æã£ã¦ä¸ã¤ãã¤åºãã¦ãããâ¦
http://projecteuler.net/index.php?section=problems&id=35 100ä¸ã¾ã§ã®ç´ æ°ãæ±ãã¦setã«ãã¦ããã«ç´ æ°å¤å®ãã§ããããã«ããã å転ã¯algorithmã®rotateã使ãã
http://projecteuler.net/index.php?section=problems&id=20 ä»ã®æ°å¤åããå¤åé·æ´æ°åã¸ã®å¤æã¯æ¬¡ã®ããã«ãã¾ãã let n = 1 printfn "%A" (System.Numerics.BigInteger n)ãã ãããã ã¨ã¡ãã£ã¨ååãé·ãã®ãå°ãã¾ããããæ¸ãã°çãæ¸ã¿ã¾ãã opeâ¦
http://projecteuler.net/index.php?section=problems&id=34 ãããæé»ã®ä¸éãããåé¡ã ããã¾ã§ã®æ´æ°ãããã¿ã¤ã¶ãã«ãã¦ãååéãããä¾ãã°123ã¨213ã¯åãæ°ã«å¤æãããã®ã§ãéè¤çµåããåºãã¯ã©ã¹ã使ãã¨é常ã«éãããããèªä½ããã
http://projecteuler.net/index.php?section=problems&id=19 ããã¯ã©ã¤ãã©ãªã使ãåé¡ã§ã¯ãªããä¸ãããã1900å¹´1æ1æ¥ã®ææ¥ãå ã«è¨ç®ãããã®ã§ããyieldã使ãã¨è¨è¿°ããããã§ãããã
http://projecteuler.net/index.php?section=problems&id=32 éè¤ã¯æ°ããªãããsetã使ããããã¦åãåããiterableã§setãå¼æ°ã«åããããã«ããããããèãããaccumulateã使ãã°ããã ãã ã£ãããããnumericã«ãããã¨ããã¤ãå¿ããã
http://projecteuler.net/index.php?section=problems&id=18 çµè·¯ã辿ãã¨ãã«åº§æ¨ã¨çµè·¯çªå·ã®3è¦ç´ ã®ã¿ãã«ã§ç¶æ ãæã£ã¦unfoldãã¦ãã¾ãã 2è¦ç´ ã®ã¿ãã«ã¯ç°¡åã«ã¢ã¯ã»ã¹ã§ãã¾ããã let t = (1, 2) printfn "%d" (snd t) // 23ã¤ä»¥ä¸ã®è¦ç´ ã®ã¿ãã«â¦
http://projecteuler.net/index.php?section=problems&id=31 å帰ã§ç°¡åã«ãããã®ã§ãã¡ã¿ããã°ã©ãã³ã°ãã¦ã¿ãã
http://projecteuler.net/index.php?section=problems&id=17 å帰çã«ãæ¸ãããã§ãããããã§ã¯é åã使ã£ã¦ãã¾ãã
http://projecteuler.net/index.php?section=problems&id=30 ãã®åé¡ã¯èª¿ã¹ãç¯å²ã ãããã¨ã¯ç´ ç´ã«æ¸ãã®ã¿ã
http://projecteuler.net/index.php?section=problems&id=16 ãããæ¼ç®åã¯åãè¨å·ã3ã¤éãã¾ãã&&&, |||, ^^^, ~~~, >> ãããã¾ãã å¤åé·æ´æ°ããããæ¼ç®ã§ãã¾ãã let rec digits n = if n = 0I then [] else (digits (n / 10I)) @ [int (n % 10Iâ¦
http://projecteuler.net/index.php?section=problems&id=289çµãã§ã¿ãã¨äºæ³ä»¥ä¸ã«é£ããã¦ãããªãéãªæ¹æ³ã§ãªãã¨ãL(2, 2)ãåºãããã«ãããããããL(3, 3)ã¯ééã£ã¦ããããããããªãé ãã ãã£ã¨L(2, 3)ã¨L(3, 2)ãçãããªã£ããã¾ã L(3, 3)ã¯â¦
http://projecteuler.net/index.php?section=problems&id=29 ãã®åé¡ã¯ãã¾ã¨ãã«è¨ç®ããã¨å¤§å¤ãªã®ã§ãç´ å æ°å解ãè¡ããããã¦ããã®çµæãsetã«å ¥ãã¦ããã å ¥ãã¦ããã®ã«F#ã®iterã便å©ãªã®ã§ãããä½ã£ãã template<typename T, typename U> void iter(T& f, U& g) { whil</typename>â¦
http://projecteuler.net/index.php?section=problems&id=15 ãã®åé¡ã¯combinationãè¨ç®ããã ãã§ãã let rec C n m = if m = 0 then 1L else (C n (m - 1)) * (int64 (n - m + 1)) / (int64 m) printfn "%d" (C 40 20)32ãããã§åã¾ããªãã®ã§å¿ è¦ãªé¨â¦
http://projecteuler.net/index.php?section=problems&id=289ååä¸ã«ä¸ã¤æ¹æ³ãæãã¤ããããããã§æ¬å½ã«çããåºãã®ããã³ã¼ãã£ã³ã°ãé£ããããã¨ãããã¨ã§æªã ã«1è¡ãæ¸ãã¦ããªããé ã®ä¸ã ãã§èãã¦ãããã¡ã«å¤é£ã®æéã«ãªã£ã¦ãã¾ã£ããããâ¦
http://projecteuler.net/index.php?section=problems&id=27 åç´ã«å¿ è¦ãªåç´ æ°å¤å®ãããç´ æ°å¤å®ãããã®ã«ç´ æ°ã§å²ã£ã¦ããããã®ç´ æ°ãåºãããã®ã¯ã©ã¹ãä½ã£ããå°ããã¤ã¨ã©ãã¹ããã¹ã®ãµããããã¦ããã
http://projecteuler.net/index.php?section=problems&id=14 ã³ã©ããã®åé¡ã§ããé åã®è¦ç´ ã0ã«ããé·ããåãããã³ã«ãããé åã«æ¸ãè¾¼ãã§ããã¾ããã³ã©ããåã¯ä¸å®ã®å¤ä»¥ä¸ãªã1â2â4â1以å¤ã¯ã«ã¼ãããªãã¨ããå®é¨ããæ¥ãäºå®ã使ã£ã¦ãã¾ãã â¦
http://projecteuler.net/index.php?section=problems&id=289ä¸çæ¸ããããã¯é£ãããããªæ°ãããã æã§ãã£ã¨37éããåºãã 1æéçµã£ã¦ãæ¹éãç«ããªãã誰ã解ãã¦ããªãããã ã風åå ¥ã£ã¦å¯ãããªã 風åå ¥ã£ã¦èãã¦ä¸ã¤æ¹éç«ã¦ããã©ããããªãâ¦
ç´ æ°ãç´ å æ°å解ã«é¢ããã©ã¤ãã©ãªãVC10β2ã§å åãããC++0xã®æ©è½ãç¨ãã¦ããã ç ´å£çãªå¤æ´ããããå ´åã¯å¥ã«ã¨ã³ããªã¼ãç«ã¦ãã
http://projecteuler.net/index.php?section=problems&id=28 ã¹ãã¤ã©ã«ã®åº§æ¨ã次ã ã«åºãã¯ã©ã¹ãä½ã£ãã
http://projecteuler.net/index.php?section=problems&id=13 F#ã«ã¯å¤§ããªæ´æ°ãæ±ããbigintåãããã¾ããæ«å°¾ã«Iãã¤ããã¨bigintåã«ãªãã¾ãã let a = [ 37107287533902102798797998220837590246510135740250I; 4637693767749000971264812489697007805â¦
http://projecteuler.net/index.php?section=problems&id=26 æ¬æ¥ãªã¤ã©ã¼ã®å®çãªã©æ°å¦ã使ãã°éã解ããåé¡ã ããé¡æéãã«æ¸ãã¦ãååéãçããåºãã
http://projecteuler.net/index.php?section=problems&id=12 ç´ å æ°å解ããã°ç°¡åã«ç´æ°ã®åæ°ãæ°ãããã¨ãã§ãã¾ããn+1ãç´ å æ°å解ãã¦ãåã«æ±ãã¦ããnã®ç´ å æ°å解ã¨ããã¦2ã§å²ãã¾ãã ãããã¨ã©ã¼ã«ãªããã§ããã let f a = a.Head printfn "%â¦
http://projecteuler.net/index.php?section=problems&id=11 è¡åããªã¹ãã®ãªã¹ãã§è¡¨ãã¦ãããã§ãããã¤ã³ããã¯ã¹ã§ã©ã³ãã ã¢ã¯ã»ã¹ãããã2次å é åã使ãã¾ããããï¼ãªã¹ããªãç·å½¢æéãããï¼ 2次å é åã¯ãªã¹ãã®ãªã¹ããããã°ç°¡åã«ä½ãã¾ãâ¦
http://projecteuler.net/index.php?section=problems&id=25 以åä½ã£ãlongintã¯ã©ã¹ã使ã£ã¦ãã£ããããæ°åãåºãã¯ã©ã¹ãä½ãã
http://projecteuler.net/index.php?section=problems&id=10 ããã¯ã¨ã©ãã¹ããã¹ã®ãµããã使ãã¨ããåé¡ã§ããã æ°ãã«é åãå°å ¥ãã¾ãã let a1 = [| 1; 2; 3 |]ç¯å²ã§ãæ¸ãã¾ãã let a2 = [| 1..3 |]å å 表è¨ãããã¾ãã let a3 = [| for i in 1.â¦
http://projecteuler.net/index.php?section=problems&id=9 ãã®æã®ç´è§ä¸è§å½¢ã®åé¡ã¯ãã¿ã´ã©ã¹æ°ã®çæå¼ã使ãã®ãå®çªã§ãã a = l(m2 - n2) b = 2lmn c = l(m2 + n2) a + b + c = 2lmn' n' = m + n m > n mã¨nã¯äºãã«ç´ 500ã3ã¤ã®ç©ã§è¡¨ãã¦ãããâ¦
http://projecteuler.net/index.php?section=problems&id=288ä¾ãããã¾ãåããªãã ä»æ¥ããã¾ãæéãªãã®ã«ã åéããã¦ããã ãã ã£ãããã£ã¨ã¹ã¿ã¼ãã©ã¤ã³ã«çããã ã©ãããã£ã¡æ¹åã®åé¡ã¿ããã ãã©ãèªããªããªãã ãã£ã¡æ¹åãããªãã£ããâ¦
http://projecteuler.net/index.php?section=problems&id=24 ãã®åé¡ã¯æ¬æ¥é åãåºãå¿ è¦ã¯ãªãããå¾ã ã®ããã«é åãåºãã¯ã©ã¹ãä½ã£ãããã®åé¡ã®çãã¯åºããããã¾ããã¾ãåããªãã