Hello, Submitter, you wrote: S> Long thought, but invented only through a back place in a cycle. And it seems that it is possible to make the artful formula. S> as it is necessary to count date (day, month, year) through certain amount of days. S> Google did not find any algorithms. The textbook of astronomy is necessary to you, instead of Google. int encodeDate (int Year, int Month, int Day) {int c, ya; if (Month> 2) Month - = 3; else {Month + = 9; Year-;} c =Year/100; ya=Year-100*c; c = (146097*c)/4 + (1461*ya)/4 + (153*Month+2)/5 + Day + 1721119; return c;} void decodeDate (int date, int &Year,int &Month,int &Day) {date - = 1721119; Year = (4*date-1)/146097; Day = (4*date-1-146097*Year)/4; date = (4*Day+3)/1461; Day = (4*Day+7-1461*date)/4; Month = (5*Day-3)/153; Day = (5*Day+2-153*Month)/5; Year = 100*Year + date; if (Month <10) Month + = 3; else {Month - = 9; Year ++;} }...//1 - it is possible to make the artful formula int days=encodeDate (2010,1,1)-encodeDate (2000,1,1);//2 - to count date (day, month, year) through certain amount of days int d1=encodeDate (2000,1,1); int d2=d1+days; int y, m, d; decodeDate (d2, y, m, d);