F# で Project Euler Problem 10
> prime_sum;; val it : int = 5 > let mutable prime_sum = 2 + 3;; val mutable prime_sum : int = 5 > let mutable num = 5;; val mutable num : int = 5 > let mutable fPrime = true;; val mutable fPrime : bool = true > let mutable fWhile = true;; val mutable fWhile : bool = true > - while (num < 2000000) do - let num_sqrt = sqrt (float num) - let mutable odd_num = 3 - fPrime <- true - fWhile <- true - while (fWhile) do - if odd_num > (int num_sqrt) then - fWhile <- false - elif num % odd_num = 0 then - fWhile <- false - fPrime <- false - else - odd_num <- odd_num + 2 - if fPrime then - prime_sum <- prime_sum + num - num <- num + 2 - ;; val it : unit = () > prime_sum;; val it : int = 1179908154
あいやー 同じ失敗!
> prime_sum;; val it : int64 = 5L > let mutable prime_sum = 2L + 3L;; val mutable prime_sum : int64 = 5L > let mutable num = 5L;; val mutable num : int64 = 5L > let mutable fPrime = true;; val mutable fPrime : bool = true > let mutable fWhile = true;; val mutable fWhile : bool = true > - while (num < 2000000L) do - let num_sqrt = sqrt (float num) - let mutable odd_num = 3L - fPrime <- true - fWhile <- true - while (fWhile) do - if odd_num > (int64 num_sqrt) then - fWhile <- false - elif num % odd_num = 0L then - fWhile <- false - fPrime <- false - else - odd_num <- odd_num + 2L - if fPrime then - prime_sum <- prime_sum + num - num <- num + 2L - ;; val it : unit = () > prime_sum;; val it : int64 = 142913828922L