Как найти даты в цифрах Pi в C#
Пример
Когда вы нажимаете кнопку «Проверить», выполняется следующий код.
// Искать все даты. 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, чтобы указать, нашел ли он шаблон.