結果
問題 |
No.316 もっと刺激的なFizzBuzzをください
|
ユーザー |
![]() |
提出日時 | 2016-05-17 21:33:16 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 28 ms / 1,000 ms |
コード長 | 2,012 bytes |
コンパイル時間 | 1,022 ms |
コンパイル使用メモリ | 117,996 KB |
実行使用メモリ | 27,412 KB |
最終ジャッジ日時 | 2024-11-21 12:20:04 |
合計ジャッジ時間 | 2,990 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
コンパイルメッセージ
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.Text; using System.Linq; class Program { public void Proc() { Reader.IsDebug = false; long maxNum = long.Parse(Reader.ReadLine()); long[] num = Reader.ReadLine().Split(' ').Select(a=>long.Parse(a)).ToArray(); long numA = num[0]; long numB = num[1]; long numC = num[2]; long numAB = this.LCM(numA, numB); long numBC = this.LCM(numB, numC); long numAC = this.LCM(numA, numC); long numABC = this.LCM(numAB, numC); long valA = maxNum / numA; long valB = maxNum / numB; long valC = maxNum / numC; long valAB = maxNum / numAB; long valBC = maxNum / numBC; long valAC = maxNum / numAC; long valABC = maxNum / numABC; long ans = valA + valB + valC - valAB - valBC - valAC + valABC; Console.WriteLine(ans); } private long LCM(long a, long b) { long num1 = Math.Max(a,b); long num2 = Math.Min(a,b); while (num1 % num2 > 0) { long num3 = num1 % num2; num1 = num2; num2 = num3; } long ans = (a / num2) * (b / num2) * num2; return ans; } public class Reader { public static bool IsDebug = true; private static String PlainInput = @" 83359640 3304 9805 9945 "; private static System.IO.StringReader Sr = null; public static string ReadLine() { if (IsDebug) { if (Sr == null) { Sr = new System.IO.StringReader(PlainInput.Trim()); } return Sr.ReadLine(); } else { return Console.ReadLine(); } } } static void Main() { Program prg = new Program(); prg.Proc(); } }