半年等于几个月?
1、公历一年有365天或366天,一月份有31天或30天的区别; 2、平年和闰年的区分(主要是为了解决回归年的长度与农历年长度的差异),4的倍数的年份是闰年,闰年全年366天;不是4的倍数的是平年,全年365天; 3、2009年是平年,一共365+31=396天 所以答案是396÷30.27约等于13.2个月。
注:上面的算法比较粗糙,但是应该差不多了吧。。。
补充:其实这个问题还有另外一个算法: 假设一个时间点是X日,从这天开始往后数天数:
1)如果正好过了6个多月,那这个时间的后一天正好是X个月后的第一天;
2)如果不是刚好六个月,那么X-(x/6)=y月,那么再往后数y个月后第一天就是X个月的第二天了。 根据这个公式可以很轻易的计算出答案来啊~~~ X=Y*6+Z Z取值为0或者1
所以答案是X=6*(Y+1)+(mod(Y,2)) Y>0 X=6Y+mod((Y%2),2) 因为 mod()函数在C语言中不能用于整数运算,因此可以用下面的方法实现该功能: int mod(int y,int z){ return (y % z >= z / 2)?z:y%(z+1); } 于是可以得到最终的答案为6Y+MOD({Y%%2},2),其中MOD(a,b)表示求整除余数,即a除以b所得的余数。