結果
| 問題 | No.316 もっと刺激的なFizzBuzzをください |
| コンテスト | |
| ユーザー |
silviasetitech
|
| 提出日時 | 2020-03-15 13:54:33 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 125 ms / 1,000 ms |
| コード長 | 1,538 bytes |
| コンパイル時間 | 4,363 ms |
| コンパイル使用メモリ | 76,952 KB |
| 実行使用メモリ | 54,328 KB |
| 最終ジャッジ日時 | 2024-11-24 23:05:26 |
| 合計ジャッジ時間 | 8,148 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 33 |
ソースコード
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;
/**
* Built using CHelper plug-in
* Actual solution is at the top
*
* @author silviase
*/
public class Main {
public static void main(String[] args) {
InputStream inputStream = System.in;
OutputStream outputStream = System.out;
Scanner in = new Scanner(inputStream);
PrintWriter out = new PrintWriter(outputStream);
MoreFizzBuzz solver = new MoreFizzBuzz();
solver.solve(1, in, out);
out.close();
}
static class MoreFizzBuzz {
public void solve(int testNumber, Scanner in, PrintWriter out) {
// 包徐原理を用いればいい
// -a-b-c+(ab)+(bc)+(ca)-(abc)
long n = in.nextLong();
long a = in.nextLong();
long b = in.nextLong();
long c = in.nextLong();
long res =
+(n / a) + (n / b) + (n / c)
- (n / Arith.lcm(a, b))
- (n / Arith.lcm(b, c))
- (n / Arith.lcm(c, a))
+ (n / Arith.lcm(Arith.lcm(a, b), c));
out.println(res);
}
}
static class Arith {
public static long gcd(long a, long b) {
return a % b == 0 ? b : gcd(b, a % b);
}
public static long lcm(long a, long b) {
return a / gcd(a, b) * b;
}
}
}
silviasetitech