結果
問題 |
No.300 平方数
|
ユーザー |
![]() |
提出日時 | 2016-09-10 10:53:53 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,701 bytes |
コンパイル時間 | 1,045 ms |
コンパイル使用メモリ | 105,216 KB |
実行使用メモリ | 18,048 KB |
最終ジャッジ日時 | 2024-11-16 19:49:41 |
合計ジャッジ時間 | 3,793 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 WA * 34 |
コンパイルメッセージ
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; //YukiCoder300 平方数 //http://yukicoder.me/problems/no/300 class Program { static string InputPattern = "InputX"; static List<string> GetInputList() { var WillReturn = new List<string>(); if (InputPattern == "Input1") { WillReturn.Add("4"); //1 } else if (InputPattern == "Input2") { WillReturn.Add("8"); //2 } else if (InputPattern == "Input3") { WillReturn.Add("459431198626"); //114514 } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List<string> InputList = GetInputList(); long X = long.Parse(InputList[0]); if (X == 1) { Console.WriteLine(1); return; } Dictionary<long, int> SoinSuuDict = ExecSoinSuuBunkai(X); long Answer = 1; foreach (var EachPair in SoinSuuDict) { if (EachPair.Value % 2 == 1) Answer *= EachPair.Key; } Console.WriteLine(Answer); } //素因数分解 static Dictionary<long, int> ExecSoinSuuBunkai(long pTarget) { var WillReturn = new Dictionary<long, int>(); for (long I = 2; I * I <= pTarget; I++) { while (pTarget % I == 0) { if (WillReturn.ContainsKey(I)) WillReturn[I]++; else WillReturn[I] = 1; pTarget /= I; } } return WillReturn; } }