結果

問題 No.316 もっと刺激的なFizzBuzzをください
ユーザー kongarishisyamo
提出日時 2016-02-24 03:45:35
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 623 bytes
コンパイル時間 459 ms
コンパイル使用メモリ 57,748 KB
実行使用メモリ 13,888 KB
最終ジャッジ日時 2024-09-22 13:16:52
合計ジャッジ時間 2,940 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 4
other AC * 3 WA * 1 TLE * 1 -- * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<algorithm>

using namespace std;

long long gcd(long long a,long long b){
	if(a<b) return gcd(b,a);
	if(a%b==0) return b;
	return gcd(b,a%b);
}

int main(){

	long long N,a,b,c;
	bool f=false;

	cin>>N>>a>>b>>c;

	if(a==1||b==1||c==1){
		cout<<N<<endl;
		return 0;
	}
	if(a%b==0||a%c==0){
		swap(a,c);
		f=true;
	}
	else if(b%a==0||b%c==0){
		swap(b,c);
		f=true;
	}
	else if(c%b==0||c%a==0){
		f=true;
	}
	if(b>c) swap(b,c);
	if(a>c) swap(a,c);
	long long ab=a*b/gcd(a,b);

	long long tmp=N/a+N/b-N/ab;

	if(!f){
		for(int i=c;i<N;i+=c){
			if(i%a!=0&&i%b!=0) tmp++;
		}
	}

	cout<<tmp<<endl;
}
0