トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
No.81 すべて足すだけの簡単なお仕事です。
■■■問題■■■
与えられるN個の値の総和を求めよ。
■■■入力■■■
N
A1
A2
・・・
Ai
・・・
AN
1行目に、値の個数を表す整数 N (1 <= N <= 100) が与えられます。
続くN行に、値Ai (-100億 <= Ai <= 100億, 1 <= i <= N)が与えられます。
値は整数または有限小数で与えられ、小数の場合は小数第10位まで与えられる場合があります。
■■■出力■■■
値をすべて足した結果を出力してください。
結果が小数を含まない場合であっても、小数第10位まで出力してください。
最後に改行してください。
C#のソース
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static string InputPattern = "Input4";
static List<string> GetInputList()
{
var WillReturn = new List<string>();
if (InputPattern == "Input1") {
WillReturn.Add("5");
WillReturn.Add("1");
WillReturn.Add("2");
WillReturn.Add("3");
WillReturn.Add("4");
WillReturn.Add("5");
//15.0000000000
}
else if (InputPattern == "Input2") {
WillReturn.Add("10");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
WillReturn.Add("0.1");
//1.0000000000
}
else if (InputPattern == "Input3") {
WillReturn.Add("10");
WillReturn.Add("0.999999999");
WillReturn.Add("0.000000001");
WillReturn.Add("-0.999999999");
WillReturn.Add("-0.000000001");
WillReturn.Add("99999999.999999999");
WillReturn.Add("99999999.999999999");
WillReturn.Add("99999999.999999999");
WillReturn.Add("0.000000002");
WillReturn.Add("-99999999.999999999");
WillReturn.Add("99999999.999999999");
//299999999.9999999990
}
else {
string wkStr;
while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
}
return WillReturn;
}
static void Main()
{
List<string> InputList = GetInputList();
decimal[] wkArr = InputList.Skip(1).Select(X => decimal.Parse(X)).ToArray();
Console.WriteLine("{0:F10}", wkArr.Sum());
}
}
解説