結果
問題 | No.219 巨大数の概算 |
ユーザー | tottoripaper |
提出日時 | 2018-03-07 20:56:19 |
言語 | Haskell (9.8.2) |
結果 |
AC
|
実行時間 | 263 ms / 1,500 ms |
コード長 | 983 bytes |
コンパイル時間 | 3,396 ms |
コンパイル使用メモリ | 174,552 KB |
実行使用メモリ | 9,088 KB |
最終ジャッジ日時 | 2024-10-04 09:47:25 |
合計ジャッジ時間 | 18,751 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 263 ms
8,960 KB |
testcase_01 | AC | 239 ms
8,960 KB |
testcase_02 | AC | 241 ms
8,832 KB |
testcase_03 | AC | 240 ms
8,704 KB |
testcase_04 | AC | 194 ms
8,960 KB |
testcase_05 | AC | 2 ms
6,816 KB |
testcase_06 | AC | 26 ms
8,448 KB |
testcase_07 | AC | 1 ms
6,820 KB |
testcase_08 | AC | 26 ms
8,320 KB |
testcase_09 | AC | 1 ms
6,820 KB |
testcase_10 | AC | 243 ms
8,704 KB |
testcase_11 | AC | 242 ms
8,704 KB |
testcase_12 | AC | 239 ms
8,960 KB |
testcase_13 | AC | 249 ms
8,960 KB |
testcase_14 | AC | 259 ms
8,960 KB |
testcase_15 | AC | 245 ms
8,960 KB |
testcase_16 | AC | 240 ms
8,832 KB |
testcase_17 | AC | 243 ms
8,704 KB |
testcase_18 | AC | 242 ms
8,832 KB |
testcase_19 | AC | 242 ms
9,088 KB |
testcase_20 | AC | 242 ms
8,832 KB |
testcase_21 | AC | 241 ms
8,704 KB |
testcase_22 | AC | 245 ms
8,704 KB |
testcase_23 | AC | 248 ms
8,704 KB |
testcase_24 | AC | 246 ms
8,832 KB |
testcase_25 | AC | 244 ms
8,704 KB |
testcase_26 | AC | 246 ms
8,832 KB |
testcase_27 | AC | 240 ms
8,832 KB |
testcase_28 | AC | 243 ms
8,832 KB |
testcase_29 | AC | 245 ms
8,832 KB |
testcase_30 | AC | 247 ms
8,960 KB |
testcase_31 | AC | 238 ms
8,704 KB |
testcase_32 | AC | 244 ms
8,832 KB |
testcase_33 | AC | 244 ms
8,960 KB |
testcase_34 | AC | 241 ms
8,832 KB |
testcase_35 | AC | 242 ms
8,960 KB |
testcase_36 | AC | 250 ms
8,960 KB |
testcase_37 | AC | 245 ms
8,960 KB |
testcase_38 | AC | 247 ms
8,960 KB |
testcase_39 | AC | 244 ms
8,704 KB |
testcase_40 | AC | 246 ms
8,960 KB |
testcase_41 | AC | 244 ms
8,704 KB |
testcase_42 | AC | 243 ms
8,832 KB |
testcase_43 | AC | 248 ms
8,832 KB |
testcase_44 | AC | 248 ms
8,960 KB |
testcase_45 | AC | 243 ms
8,832 KB |
testcase_46 | AC | 243 ms
8,960 KB |
testcase_47 | AC | 245 ms
8,704 KB |
testcase_48 | AC | 242 ms
8,960 KB |
testcase_49 | AC | 245 ms
8,832 KB |
testcase_50 | AC | 245 ms
8,832 KB |
testcase_51 | AC | 2 ms
6,820 KB |
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) [2 of 2] Linking a.out
ソースコード
import Control.Monad (replicateM) import Data.Fixed import Text.Printf data E40 = E40 instance HasResolution E40 where resolution _ = 10 ^ 40 type F40 = Fixed E40 (#*) :: (F40, Integer) -> (F40, Integer) -> (F40, Integer) (a, s) #* (b, t) = let c = a * b in if c < 10.0 then (c, s + t) else (c / 10.0, s + t + 1) expt :: (F40, Integer) -> Integer -> (F40, Integer) expt = expt' (1.0, 0) where expt' b a 0 = b expt' b a n | n `mod` 2 == 1 = expt' (b #* a) (a #* a) (n `div` 2) | otherwise = expt' b (a #* a) (n `div` 2) toPair :: F40 -> (F40, Integer) toPair x | x < 10.0 = (x, 0) | otherwise = let (y, s) = toPair (x / 10) in (y, s + 1) main = do n <- readLn replicateM n $ do [a, b] <- fmap words getLine let a' = toPair $ read a b' = read b (x, y) = expt a' b' x' = floor (x * 10) :: Integer printf "%d %d %d\n" (x' `div` 10) (x' `mod` 10) y