>>782
400年の日数は 146097 = 400 * 365 + 400 / 4 - 400 / 100 + 400 / 400
100年の日数は 36524 = 100 * 365 + 100 / 4 - 100 / 100
4年の日数は 1461 = 4 * 365 + 4 / 4

n400 = day / 146097;
n100 = (day % 146097) / 36524;
n4 = ((day % 146097) % 36524) / 1461;
n1 = (((day % 146097) % 36524) % 1461) / 365;
year = n400 * 400 + n100 * 100 + n4 * 4 + n1;

みたいな感じでやれば?