結果
| 問題 | 
                            No.192 合成数
                             | 
                    
| コンテスト | |
| ユーザー | 
                             tak
                         | 
                    
| 提出日時 | 2019-02-15 01:25:39 | 
| 言語 | F#  (F# 4.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 60 ms / 2,000 ms | 
| コード長 | 585 bytes | 
| コンパイル時間 | 7,129 ms | 
| コンパイル使用メモリ | 185,924 KB | 
| 実行使用メモリ | 31,456 KB | 
| 最終ジャッジ日時 | 2024-09-13 12:32:54 | 
| 合計ジャッジ時間 | 10,502 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 25 | 
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (230 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
let solve n =
  let inline primeFactor n =
      let zero = LanguagePrimitives.GenericZero
      let one  = LanguagePrimitives.GenericOne
      let two  = one + one
      let rec f num divisor acc =
          if divisor = num then
              divisor :: acc
          elif num % divisor = zero then
              f (num / divisor) divisor (divisor :: acc)
          else
              f num (divisor + one) acc
      f n two []
  
  [(max (n-100) 4) .. n+100]
  |> List.find (fun x -> (primeFactor x |> List.length) > 1)
let N = stdin.ReadLine() |> int
solve N
|> stdout.WriteLine
            
            
            
        
            
tak