結果
問題 |
No.316 もっと刺激的なFizzBuzzをください
|
ユーザー |
![]() |
提出日時 | 2019-08-01 14:46:27 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,464 bytes |
コンパイル時間 | 913 ms |
コンパイル使用メモリ | 109,048 KB |
実行使用メモリ | 26,260 KB |
最終ジャッジ日時 | 2024-07-05 07:29:57 |
合計ジャッジ時間 | 2,894 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 25 WA * 8 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; class Program { static void Main(string[] args) { //入力 int N = int.Parse(Console.ReadLine()); string s = Console.ReadLine(); int a = int.Parse(s.Split(' ')[0]); int b = int.Parse(s.Split(' ')[1]); int c = int.Parse(s.Split(' ')[2]); //回答となる数値 int ans = 0; int a_num = 0; //aの倍数の個数 int b_num = 0; //bの倍数の個数 int c_num = 0; //cの倍数の個数 int a_b_num = 0; int b_c_num = 0; int c_a_num = 0; int a_b_c_num = 0; //検証 a_num = N / a; b_num = N / b; c_num = N / c; a_b_num = N / LCM(a, b); b_c_num = N / LCM(b, c); c_a_num = N / LCM(c, a); a_b_c_num = N / LCM(LCM(a, b), c); ans = a_num + b_num + c_num - (a_b_num + b_c_num + c_a_num) + a_b_c_num; //出力 Console.WriteLine(ans); } //ユークリッドの互除法 public static int GCD(int a, int b) { if (a < b) { return GCD(b, a); } while (b != 0) { int amari = a % b; a = b; b = amari; } return a; } //最小公倍数を求める public static int LCM(int a, int b) { return a * b / GCD(a, b); } }