Pi の 5 億桁のバイナリ表現を含む .txt ファイルがあります。
プログラムでその文字列表現を使用する必要があります。また、部分文字列などを検索できる必要があります。つまり、通常のサイズの文字列のように処理できる必要があります。多くの部分文字列を見つけようとするので、速度が必要です。
私の最初のロジックは、単に文字列をコピーしてプログラムに直接貼り付け、それを静的変数として使用することでした..しかし、.txt ファイルを実際に開くことができなかったため、コピーして貼り付けることができませんでした。私の次の試みは、ファイルから文字列全体を読み取ることでしたが、静的メソッドではこれを行うことができず、WAAAY に時間がかかりすぎます (実際にかかる時間は正確にはわかりません。最終的にプログラムを閉じました)。
これを行うことは可能ですか?どんな助けでも大歓迎です。
編集:潜在的に関連する情報:
このコードで:
/// <summary>
/// Gets a 500 million binary digit representation of Pi.
/// </summary>
public static string GetPi()
{
//as per http://msdn.microsoft.com/en-us/library/db5x7c0d.aspx
StreamReader piStream = new StreamReader(@"C:\binaryPi.txt");
string pi = "";
string line;
while ((line = piStream.ReadLine()) != null)
{
pi += line;
}
return pi;
}
私は OutOfMemoryException を取得します..そのため、何かが欠けていない限り、ファイルを実際にスキャンすることはできないようです..