プロジェクトオイラーの問題#13を解決するための複数の方法を見つけようとしています。私はすでに2つの異なる方法で解決しましたが、今回私がやろうとしているのは、すべての数値を含むテキストファイルからソリューションを読み取らせ、そこから変換して、最も遠い列番号を追加することです。右。また、リストに新しい数値を追加する場合、リストに任意の数の行または列を含めることができるようにこの問題を解決したいので、その長さは事前定義されていません(非配列?ジャグ配列は事前定義できないため、ここでは適切に適用されます)。
これまでのところ私は持っています:
static void Main(string[] args)
{
List<int> sum = new List<int>();
string bigIntFile = @"C:\Users\Justin\Desktop\BigNumbers.txt";
string result;
StreamReader streamReader = new StreamReader(bigIntFile);
while ((result = streamReader.ReadLine()) != null)
{
for (int i = 0; i < result.Length; i++)
{
int converted = Convert.ToInt32(result.Substring(i, 1));
sum.Add(converted);
}
}
}
これはファイルを読み取り、各文字を文字列から単一のintに変換します。そのintを2D配列のようなコレクションに格納する方法を考えようとしていますが、コレクションは用途が広く、任意の数の行/列を格納する必要があります。基本的なリスト以外に、これらの数字を保存する方法について何かアイデアはありますか?事前定義されていない2D配列のようにリストを設定する方法はありますか?前もって感謝します!
更新:また、「BigInteger」は使いたくありません。行を読み、文字列をBigIntに変換し、BigIntリストに格納して、そこからすべての整数を合計するのは少し簡単すぎるでしょう。