結果

問題 No.316 もっと刺激的なFizzBuzzをください
コンテスト
ユーザー WagiHOH
提出日時 2017-02-01 01:50:54
言語 D
(dmd 2.112.0)
コンパイル:
dmd -fPIE -m64 -w -wi -O -release -inline -I/opt/dmd/src/druntime/import/ -I/opt/dmd/src/phobos -L-L/opt/dmd/linux/lib64/ -fPIC _filename_
実行:
./Main
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 510 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 548 ms
コンパイル使用メモリ 90,472 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2026-03-05 11:55:36
合計ジャッジ時間 1,534 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 33
権限があれば一括ダウンロードができます
コンパイルメッセージ
/home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/numeric.d(3011): Warning: cannot inline function `std.numeric.gcdImpl!ulong.gcdImpl`
private typeof(T.init % T.init) gcdImpl(T)(T a, T b)
                                ^

ソースコード

diff #
raw source code

import std.stdio;
import std.algorithm;
import std.string : chomp;
import std.range;
import std.conv;
import std.numeric;

void main(string[] args)
{
    auto lcm(ulong a, ulong b) { return a * b / gcd(a, b); }
    immutable n = readln.chomp.to!int;
    auto input = readln.splitter.map!(to!int).array;
    ulong a = input[0], b = input[1], c = input[2];
    writeln(
        n / a + n / b + n / c
        - n / lcm(a, b)
        - n / lcm(a, c)
        - n / lcm(b, c)
        + n / lcm(lcm(a, b), c)
    );
}
0