Определить, является ли данное число суммой одного и того же григорианского и хиджринского года?
Есть ли способ узнать, является ли данное число суммой как хиджры [1], так и григорианского [2] одного и того же года?
Пример: 3452 = 2015 + 1437
[1] Хиджры - исламский календарь. https://en.wikipedia.org/wiki/Islamic_calendar
[2] Григорианский календарь. https://en.wikipedia.org/wiki/Gregorian_calendar
1 ответ
Возможно, это немного грубый подход, который потребует от вас предварительно заполнить два списка датами (но это не так уж и плохо, всего около 2000 элементов каждый):
// Fill this up with all Hijri dates witin your range
List<int> hijriDates = new List<int>() { 1,2, 1437 };
// Fill this up with all gregorian dates within your range
List<int> gregorianDates = new List<int>() { 3,2, 2015 };
int number = 3452;
var result =
from i in hijriDates
from j in gregorianDates
where i + j == number
select new { Hijri = i , Gregorian = j};
После того, как вы отфильтровали списки возможных совпадений, вы можете определить, какие из них совпадают в этом году. И вы можете сделать это, используя один из ответов здесь: