为什么要模1000000007

2019-04-13 15:02发布

为什么要模1000000007

刷OJ时,经常会遇到要模1000000007。

先看一下常用数据类型的数值范围(32位系统)

字节 类型 范围 长度 一字节(2^8) char -128 ~ 127 3 一字节(2^8) unsigned char 0 ~ 255 3 二字节(2^16) short -32768 ~ 32767 5 二字节(2^16) unsigned short 0 ~ 65535 5 四字节(2^32) unsigned int 0~4294967295 10 四字节(2^32) int -2147483648~2147483647 10 四字节(2^32) unsigned long 0~4294967295 10 四字节(2^32) long -2147483648~2147483647 10 八字节(2^64) long long (g++) -9223372036854775808~9223372036854775807 19 八字节(2^64) unsigned long long (g++) 0~18446744073709551615 20 八字节(2^64) __int64 (msvc) -9223372036854775808~9223372036854775807 19 八字节(2^64) unsigned __int64 (msvc) 0~18446744073709551615 20

最小的十位质数1000000007

1000000007 是最小的十位质数。模1000000007,可以保证值永远在int的范围内。