結果
問題 | No.316 もっと刺激的なFizzBuzzをください |
ユーザー |
![]() |
提出日時 | 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;}}