Language: C#
Time limit: 2.0 second
Memory limit: 64 MB
Memory limit: 64 MB
Input
The input stream contains a set of integer numbers
Ai (0 ≤
Ai ≤ 10
18). The numbers are separated by any number of spaces and line breaks. A size of the input stream does not exceed 256 KB.
Output
For each number
Ai from the last one till the first one you should output its square root. Each square root should be printed in a separate line with at least four digits after decimal point.
Sample
input | output |
---|---|
1427 0 876652098643267843 5276538 | 2297.0716 936297014.1164 0.0000 37.7757 |
以下是我的答案:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
namespace ACMTrain
{
class Program
{
static Stack<double> Tony = new Stack<double>();
static void Main(string[] args)
{
StringBuilder SB = new StringBuilder();
int CurrentCharInt;
while ((CurrentCharInt = Console.Read()) != -1)
{
char CurrentChar = Convert.ToChar(CurrentCharInt);
if (char.IsDigit(CurrentChar))
{
SB.Append(CurrentChar);
}
else
{
PushDouble(ref SB);
}
}
PushDouble(ref SB);
while (Tony.Count > 0)
{
Console.WriteLine(Tony.Pop().ToString("0.0000"));
}
}
static void PushDouble(ref StringBuilder SB)
{
if (SB.Length > 0)
{
Tony.Push(Math.Sqrt(Convert.ToDouble(SB.ToString())));
SB.Clear();
}
}
}
}