C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296.
unsigned int 0~4294967295
int -2147483648~2147483647 (2^31-1)
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值: 9223372036854775807
long long的最小值: -9223372036854775808
unsigned long long的最大值: 18446744073709551615
__int64的最大值: 9223372036854775807
__int64的最小值: -9223372036854775808
unsigned __int64的最大值: 18446744073709551615
斐波拉契数列 fb[47]=4807526976超int,fb[92]=-6246583658587674878超long long
A(13,13)=6227020800超int,A(21,21)=-4249290049419214848超long long
快速排列组合函数:
f[0]=0; for(int i=1;i<=400002;i++) f[i]=f[i-1]+log(i*1.0); double logC(int m,int n) { return f[n]-f[m]-f[n-m]; } double logA(int m,int n) { return f[n]-f[m]; } //C(m,n)=exp(logC(m,n)) //A(m,n)=exp(logA(m,n))