結果

問題 No.36 素数が嫌い!
ユーザー noriocnorioc
提出日時 2015-09-28 01:23:31
言語 Scala(Beta)
(3.4.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 752 bytes
コンパイル時間 4,359 ms
コンパイル使用メモリ 226,344 KB
最終ジャッジ日時 2024-04-27 02:12:09
合計ジャッジ時間 4,709 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
-- [E040] Syntax Error: Main.scala:21:32 ---------------------------------------
21 |  def main(args: Array[String]) {
   |                                ^
   |                                '=' expected, but '{' found
1 error found

ソースコード

diff #

import math._
import scala.collection.mutable.ArrayBuffer

object Main {
  def sieve(n: Int): Array[Int] = {
    val tab = new Array[Boolean](n+1)
    val primes = new ArrayBuffer[Int]
    primes.append(2)

    for (i <- 3 to n by 2) {
      if (!tab(i)) { // i is prime
        primes.append(i)
        for (j <- i to n by i) {
          tab(j) = true
        }
      }
    }
    primes.toArray
  }

  def main(args: Array[String]) {
    val sc = new java.util.Scanner(System.in)
    var n = sc.nextLong

    val primes = sieve(10000000)
    var x = 0 // 割り切る素因数の個数
    for (p <- primes) {
      while (n % p == 0) {
        n /= p
        x += 1
      }
    }
    if (n > 1) x += 1

    println(if (x >= 3) "YES" else "NO")
  }
}
0