結果
| 問題 |
No.316 もっと刺激的なFizzBuzzをください
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-12-09 18:46:15 |
| 言語 | Scala(Beta) (3.6.2) |
| 結果 |
AC
|
| 実行時間 | 927 ms / 1,000 ms |
| コード長 | 723 bytes |
| コンパイル時間 | 11,969 ms |
| コンパイル使用メモリ | 267,028 KB |
| 実行使用メモリ | 65,348 KB |
| 最終ジャッジ日時 | 2024-11-25 00:54:42 |
| 合計ジャッジ時間 | 48,271 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 33 |
ソースコード
import java.util.Scanner
object Main extends App {
def gcd(a: Long, b: Long): Long = if (b == 0) a.abs else gcd(b, a % b)
def lcm(a: Long, b: Long) = (a * b).abs / gcd(a, b)
def proc(n: Long, a: Long, b: Long, c: Long): Int = {
val ab = lcm(a, b)
val ac = lcm(a, c)
val bc = lcm(b, c)
val abc = lcm(a, bc)
(n / a + n / b + n / c - n / ab - n / ac - n / bc + n / abc).toInt
}
def blute(n: Int, a: Int, b: Int, c: Int): Int = {
(1 to n).count { x =>
x % a == 0 || x % b == 0 || x % c == 0
}
}
val sc = new Scanner(System.in)
val n = sc.nextInt()
val a = sc.nextInt()
val b = sc.nextInt()
val c = sc.nextInt()
val result = proc(n, a, b, c)
println(result)
}