unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
正数最大为unsigned __int64,取到2^64-1,超过就要用高精度算法了。
2、找公约数只找到sqrt(a)可以减小时间复杂度,是个优化,且在这里不能带等号。