結果

問題 No.300 平方数
ユーザー くれちー
提出日時 2017-01-13 00:34:07
言語 Haskell
(9.10.1)
結果
TLE  
実行時間 -
コード長 468 bytes
コンパイル時間 10,061 ms
コンパイル使用メモリ 171,264 KB
実行使用メモリ 14,884 KB
最終ジャッジ日時 2024-12-21 10:17:24
合計ジャッジ時間 49,829 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21 TLE * 22
権限があれば一括ダウンロードができます
コンパイルメッセージ
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:10:1: warning: [GHC-94817] [-Wtabs]
    Tab character found here, and in four further locations.
    Suggested fix: Please use spaces instead.
   |
10 |         where
   | ^^^^^^^^

Main.hs:14:25: warning: [GHC-63394] [-Wx-partial]
    In the use of ‘head’
    (imported from Data.List, 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."
   |
14 | solve x = product $ map head $ filter (odd . length) $ group $ factorization x
   |                         ^^^^
[2 of 2] Linking a.out

ソースコード

diff #

import Data.List

-- ref: http://d.hatena.ne.jp/mokehehe/20070615/factorization
factors :: Integral a => a -> [a]
factors n = [x | x <- [1..n], n `mod` x == 0]

factorization :: Integral a => a -> [a]
factorization 1 = []
factorization x = v : factorization (x `div` v)
	where
		v = (factors x) !! 1
		
solve :: Integral a => a -> a
solve x = product $ map head $ filter (odd . length) $ group $ factorization x

main = do
    n <- readLn
    putStrLn $ show $ solve n
0