当n=64时, k = 2^64。
而unsigned long long的范围是0 ~ 2^64 - 1!
因此, k就算用unsigned long long也会爆掉。
那怎么解决呢?
这时候, 我们就可以用上一个万能的法宝: double!
double能表示的最大数约为10^308, 远远大于2^64!
当然, 千万千万不要忘记强制类型转换!