一些数学公式

有排成一行的n个方格,用红、粉、绿三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.

f(n)=f(n-1)+2*f(n-2);

错排思想:

当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.

第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;

第二步,放编号为k的元素,这时有两种情况.1,把它放到位置n,那么,对于剩下的n-2个元素,就有M(n-2)种方法;2,不把它放到位置n,这时,对于这n-1个元素,有M(n-1)种方法;

综上得到

M(n)=(n-1)[M(n-2)+M(n-1)]

特殊地,M(1)=0,M(2)=1
 
 
全等三角形分割个数(hdu 1396)
a[i] = a[i-1]+i*(i+1)/2;
 
 
一个数n的位数等于 log10(n)+1 
 
 一个数 模9等于各位数字和模9,例如 33%9=6%9
 
m=n^n,两边分别对10取对数得 log10(m)=n*log10(n),得m=10^(n*log10(n)),由于10的任何整数次幂首位一定为1,所以m的首位只和n*log10(n)的小数部分有关
 
 

闰年个数

int n=year1/4-year1/100+year1/400;