結果
問題 | No.316 もっと刺激的なFizzBuzzをください |
ユーザー | nCk_cv |
提出日時 | 2015-12-09 17:31:37 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 138 ms / 1,000 ms |
コード長 | 1,006 bytes |
コンパイル時間 | 2,276 ms |
コンパイル使用メモリ | 78,596 KB |
実行使用メモリ | 41,500 KB |
最終ジャッジ日時 | 2024-11-21 11:42:57 |
合計ジャッジ時間 | 8,618 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
import java.util.*; import java.util.Map.Entry; import java.math.*; import java.awt.geom.*; import java.io.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long N = sc.nextInt(); long a = sc.nextInt(); long b = sc.nextInt(); long c = sc.nextInt(); long ac = N / a; long bc = N / b; long cc = N / c; long lcmAB = lcm(a,b); long lcmAC = lcm(a,c); long lcmBC = lcm(b,c); long lcmABC = lcm(a,b,c); long abc = N / (lcmAB); long acc = N / (lcmAC); long bcc = N / (lcmBC); long abcc = N / (lcmABC); System.out.println(( ac + bc + cc + abcc - abc - acc - bcc )); } static long lcm(long a, long b) { return a * b / gcd(a,b); } static long lcm(long a, long b, long c) { long lcm = lcm(a,b); return lcm * c / gcd(lcm,c); } static long gcd(long a, long b) { if (a < b) { long tmp = a; a = b; b = tmp; } while(b > 0) { long r = a % b; a = b; b = r; } return a; } }