結果

問題 No.316 もっと刺激的なFizzBuzzをください
ユーザー vjudge1
提出日時 2025-02-05 02:29:15
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 1,000 ms
コード長 1,121 bytes
コンパイル時間 1,984 ms
コンパイル使用メモリ 131,796 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2025-02-05 02:29:19
合計ジャッジ時間 3,819 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <unordered_map>
#include <vector>
#include <limits.h>
#include <algorithm>
#include <string>
#include <set>
#include <unordered_set>
#include <queue>
#include <deque>
#include <iomanip>
#include <cmath>
#include <numeric>
#include<cfloat>



using namespace std;

void solve() {
    long long target;
    cin >> target;
  long long a, b, c;
  cin  >> a >> b >>c;
  long long ans = ( target / a) + (target / b) + (target / c);
   long long  gcd = __gcd(a, b) * 1ll;
   long long  gcd2 = __gcd(a, c) * 1ll;
   long long  gcd3= __gcd(b, c) * 1ll;
   long long lcm1 = (a * b) / gcd * 1ll;
   long long lcm2 = (a * c) / gcd2 * 1ll;
   long long lcm3 = (b * c) / gcd3* 1ll;
   long long lcmCommon = (c * lcm1) / (__gcd(lcm1, c)) * 1ll;
   long long numCommon = target / lcmCommon;

   long long num1 = target / lcm1;
   long long num2 = target / lcm2;
   long long num3 = target / lcm3;

   ans -= num1;
   ans -= num2;
   ans -= num3;
   ans += numCommon;
   cout << ans << endl;





}
int main() {
    int t;
    // cin >> t;
    // while (t-- ) {
    //     solve();

    // }
     solve();

}
0