Название проблемы: по модулю арифметики ;при условии, что year
не является отрицательным у нас есть
decade = year / 10
counter = year % 16
Обратная формула (которую вы ищете) равна
year = decade * 10 + (16 - (decade * 10) % 16 + counter) % 16
, где %
- это остаток и /
равен целочисленное деление .
Например, если year = 2018
, у нас есть
decade = 2018 / 10 = 201
counter = 2018 % 16 = 2
и обратная формула дает
year = 201 * 10 + (16 - (201 * 10) % 16 + 2) % 16 =
2010 + (16 - 2010 % 16 + 2) % 16 =
2010 + (16 - 10 + 2) % 16 =
2010 + 8 % 16 =
2010 + 8 =
2018