高斯日记
高斯日记思路 :天数减去四年(三个平年+一个闰年)的时间,年数加四年,直到天数小于四年的时间,再分情况讨论。注意1800年是平年。 代码部分 : # include <stdio.h> int main ( ) { int year = 1777 , month = 4 , day = 30 ; int n ; int i = 0 ; int m1 [ 12 ] = { 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 } ; int m2 [ 12 ] = { 31 , 29 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 } ; scanf ( "%d" , & n ) ; n -- ; while ( n >= 1461 ) { n - = 1461 ; year + = 4 ; } if ( n >= 1341 ) { year + = 4 ; while ( n > m1 [ i ] ) { n - = m1 [ i ] ; i ++ ; } month = i ; day = n ; } else if ( n <= 245 ) { i = 5 ; while ( n > m1 [ i ] ) { n - = m1 [ i ] ; i ++ ; }