結果

問題 No.316 もっと刺激的なFizzBuzzをください
コンテスト
ユーザー ああ
提出日時 2026-10-06 16:06:35
言語 Java
(openjdk 26.0.2.1 + ACL)
コンパイル:
javac -J-Duser.language=en -encoding UTF8 -cp /opt/aclib/ac_library.jar _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true -cp .:/opt/aclib/ac_library.jar _class_
結果
AC  
実行時間 56 ms / 1,000 ms
+ 749µs
コード長 1,634 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,616 ms
コンパイル使用メモリ 85,872 KB
実行使用メモリ 45,392 KB
最終ジャッジ日時 2026-10-12 14:27:14
合計ジャッジ時間 6,216 ms
ジャッジサーバーID
(参考情報)
judge4_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 33
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import java.util.*;

public class Main{
    public static void print(String a){
        System.out.println(a);
    }
    public static void print(int a){
        System.out.println(a);
    }
    public static void print(long a){
        System.out.println(a);
    }
    public static int  pow(int a,int b){
        int res=1;
        while (b>0){
            if (b%2==1){
                res*=a;
            }
            a*=a;b>>=1;
        }
        return res;
    }
    public static int pow(int a,int b,int mod){
        int res=1;
        while (b>1){
            if (b%2==1){
                res=res*a%mod;
            }
            a=a*a%mod;b>>=1;
        }
        return res;
    }
    public static int abs(int a){
        if (a<0){
            return -a;
        }
        return a;
    }
    public static int gcd(int x,int y){
        if (Math.min(x,y)==0){
            return Math.max(x,y);
        }
        int z;
        while (x%y>0){
            z=x%y;
            x=y;y=z;
        }
        return y;
    }
    public static long gcd(long x,long y){
        if (Math.min(x,y)==0){
            return Math.max(x,y);
        }
        long z;
        while (x%y>0){
            z=x%y;
            x=y;y=z;
        }
        return y;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        long n,a,b,c;
        n=sc.nextLong();a=sc.nextLong();
        b=sc.nextLong();c=sc.nextLong();
        long t=a*b;
        t/=gcd(a,b);long d=gcd(t,c);
        t*=c/d;
        print(n/a+n/b+n/c-n/(a*b/gcd(a,b))-n/(b*c/gcd(c,b))-n/(a*c/gcd(a,c))+n/t);
        sc.close();
    }
}
0