Как найти даты в цифрах Pi в C#
Пример ищет шаблоны внутри цифры Pi. Вы можете использовать этот пример для поиска таких дат, как 4/1. В этом примере определяется, содержит ли первые 100 тысяч цифр Pi шаблон для каждой даты в году.
Когда вы нажимаете кнопку «Проверить», выполняется следующий код.
// Искать все даты.
private void btnCheck_Click(object sender, EventArgs e)
{
lstResults.Items.Clear();
int found = 0;
int not_found = 0;
int biggest = -1;
DateTime date = new DateTime(DateTime.Now.Year, 1, 1);
DateTime end_date = new DateTime(DateTime.Now.Year, 12, 31);
while (date <= end_date)
{
string pattern = date.Month.ToString() +
date.Day.ToString();
int pos = Pi.IndexOf(pattern);
string short_date = date.Month.ToString() +
"/" + date.Day.ToString();
if (pos < 0)
{
not_found++;
lstResults.Items.Add(
short_date + "\tNot found");
}
else
{
found++;
if (biggest < pos) biggest = pos;
lstResults.Items.Add(
short_date + "\t" + pos.ToString());
}
date = date.AddDays(1);
}
lblResults.Text = "Found: " + found.ToString() +
", Not found: " + not_found.ToString() +
", Biggest position: " + biggest.ToString();
}
Этот код устанавливает date и end_date в первый и последний дни текущего года соответственно. Затем код вводит цикл, который выполняется до date после end_date.
Внутри цикла программа получает цифры месяца и дня. Затем он выполняет поиск этих цифр в загруженном значении Pi. Затем код добавляет результаты в список lstResults, чтобы указать, нашел ли он шаблон.
