結果
問題 |
No.36 素数が嫌い!
|
ユーザー |
![]() |
提出日時 | 2020-08-30 23:07:03 |
言語 | Haskell (9.10.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 457 bytes |
コンパイル時間 | 10,094 ms |
コンパイル使用メモリ | 173,056 KB |
実行使用メモリ | 27,336 KB |
最終ジャッジ日時 | 2024-11-15 15:58:27 |
合計ジャッジ時間 | 123,320 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 5 WA * 2 TLE * 19 |
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default [1 of 2] Compiling Main ( Main.hs, Main.o ) Main.hs:8:23: warning: [GHC-63394] [-Wx-partial] In the use of ‘head’ (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 8 | primeFactors m = f m (head primes) (tail primes) where | ^^^^ Main.hs:8:37: warning: [GHC-63394] [-Wx-partial] In the use of ‘tail’ (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 8 | primeFactors m = f m (head primes) (tail primes) where | ^^^^ Main.hs:12:24: warning: [GHC-63394] [-Wx-partial] In the use of ‘head’ (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 12 | | otherwise = f m (head ns) (tail ns) | ^^^^ Main.hs:12:34: warning: [GHC-63394] [-Wx-partial] In the use of ‘tail’ (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Replace it with drop 1, or use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 12 | | otherwise = f m (head ns) (tail ns) | ^^^^ [2 of 2] Linking a.out
ソースコード
import Data.Bool import qualified Data.List as List main :: IO () main = readLn >>= putStrLn . bool "NO" "YES" . (>= 3) . length . List.group . primeFactors primeFactors :: Int -> [Int] primeFactors m = f m (head primes) (tail primes) where f m n ns | m < 2 = [] | m `mod` n == 0 = n : f (m `div` n) n ns | otherwise = f m (head ns) (tail ns) primes :: [Int] primes = f [2..] where f (p : ns) = p : f [n | n <- ns, n `mod` p /= 0]