結果
問題 |
No.428 小数から逃げる夢
|
ユーザー |
![]() |
提出日時 | 2016-11-07 07:53:37 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 28 ms / 1,000 ms |
コード長 | 1,998 bytes |
コンパイル時間 | 3,151 ms |
コンパイル使用メモリ | 105,472 KB |
実行使用メモリ | 18,688 KB |
最終ジャッジ日時 | 2024-11-25 03:40:07 |
合計ジャッジ時間 | 7,322 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 100 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Text; using System.Linq; using System.Collections.Generic; public class Program { public void Proc() { Reader.IsDebug = false; int n = int.Parse(Reader.ReadLine()); int[] d = new int[DStr.Length+2]; for(int i=0; i<DStr.Length; i++) { d[i+2] = int.Parse(DStr[i].ToString()); } int[] ketaagari = new int[d.Length]; int[] ansArr = new int[d.Length]; for(int i=d.Length-1; i>=0; i--) { int tmp = d[i]*n + ketaagari[i]; ansArr[i] = tmp % 10; if(i>=1) { ketaagari[i-1]+=(tmp%100)/10; } if(i>=2) { ketaagari[i-2]+=tmp/100; } } StringBuilder ans = new StringBuilder(); for(int i=0; i<ansArr.Length; i++) { ans.Append(ansArr[i]); if(i==2) { ans.Append("."); } } string ansStr = ans.ToString().Trim(new char[]{'0'}); if(ansStr.StartsWith(".")) { ansStr = "0" + ansStr; } Console.WriteLine(ansStr); } private string DStr = "01234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991"; public class Reader { public static bool IsDebug = true; private static System.IO.StringReader SReader; private static string InitText = @" 14 "; public static string ReadLine() { if(IsDebug) { if(SReader == null) { SReader = new System.IO.StringReader(InitText.Trim()); } return SReader.ReadLine(); } else { return Console.ReadLine(); } } } public static void Main(string[] args) { Program prg = new Program(); prg.Proc(); } }