結果
問題 |
No.316 もっと刺激的なFizzBuzzをください
|
ユーザー |
![]() |
提出日時 | 2018-09-13 22:41:54 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 140 ms / 1,000 ms |
コード長 | 1,109 bytes |
コンパイル時間 | 2,219 ms |
コンパイル使用メモリ | 77,160 KB |
実行使用メモリ | 54,408 KB |
最終ジャッジ日時 | 2024-07-01 04:31:37 |
合計ジャッジ時間 | 8,355 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); long N = scan.nextInt(); long a = scan.nextInt(); long b = scan.nextInt(); long c = scan.nextInt(); scan.close(); if(b % a == 0 && c % a == 0) { long ans = N / a; System.out.println(ans); }else if(b % a == 0) { long k1 = N / a; long k2 = N / c; long k3 = N / lcm(a, c); long ans = k1 + k2 - k3; System.out.println(ans); }else if(c % a == 0) { long k1 = N / a; long k2 = N / b; long k3 = N / lcm(a, b); long ans = k1 + k2 - k3; System.out.println(ans); }else { long k1 = N / a; long k2 = N / b; long k3 = N / c; long k4 = N / lcm(a, b); long k5 = N / lcm(b, c); long k6 = N / lcm(c, a); long k7 = N / lcm(lcm(a, b), c); long ans = k1 + k2 + k3 - (k4 + k5 + k6) + k7; System.out.println(ans); } } static long gcd(long m, long n) { if(m < n) { return gcd(n , m); } if(n == 0) { return m; } return gcd(n, m % n); } static long lcm(long m, long n) { return m * n / gcd(m, n); } }