-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathP13.cs
41 lines (34 loc) · 1.27 KB
/
P13.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.IO;
using System.Numerics;
namespace P1 {
class Program
{
public static BigInteger[] ParseLargeNumbers(string[] strLargeNumbers)
{
BigInteger[] largeNumbers = new BigInteger[strLargeNumbers.Length];
for (int i = 0; i < strLargeNumbers.Length; i++)
{
BigInteger.TryParse(strLargeNumbers[i], out largeNumbers[i]);
}
return largeNumbers;
}
public static BigInteger GetMassiveNumber(BigInteger[] largeNumbers)
{
BigInteger sum = 0;
foreach (var number in largeNumbers)
{
sum += number;
}
return sum;
}
public static void Main(string[] args)
{
string fileName = "Problem13.txt";
string[] strLargeNumbers = System.IO.File.ReadAllLines(Path.Combine(Environment.CurrentDirectory, @"Files\", fileName));
BigInteger[] largeNumbers = ParseLargeNumbers(strLargeNumbers);
BigInteger massiveNumber = GetMassiveNumber(largeNumbers);
Console.WriteLine("The first ten digits of the sum of one-hundred 50-digit numbers (from file) is: {0}", massiveNumber.ToString().Substring(0, 10));
}
}
}