結果

問題 No.300 平方数
コンテスト
ユーザー くれちー
提出日時 2017-01-13 00:34:07
言語 Haskell
(9.14.1)
コンパイル:
ghc -rtsopts -with-rtsopts=-K1G -o a.out -O2 _filename_
実行:
./a.out
結果
TLE  
実行時間 -
コード長 468 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,621 ms
コンパイル使用メモリ 194,304 KB
実行使用メモリ 15,872 KB
最終ジャッジ日時 2026-05-28 03:01:31
合計ジャッジ時間 4,110 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 17 TLE * 1 -- * 25
権限があれば一括ダウンロードができます
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.14.1/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.Internal.List):
    "This is a partial function, it throws an error on empty lists. Use pattern matching, 'Data.List.uncons' or 'Data.Maybe.listToMaybe' 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 #
raw source code

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