warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]while(a<2^31-1)
2的31次方应该是pow(2,31),^是异或符号