问题 1070. -- 棋盘上的麦粒

1070: 棋盘上的麦粒

时间限制: 1 Sec  内存限制: 128 MB
提交: 536  解决: 352
[提交][状态][讨论版]

题目描述

        在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”
        国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。 那么,宰相要求得到的麦粒到底有多少呢?
        原来,按照那位宰相所要求的方法,在64格棋盘上放置麦粒,表面上看起来所需麦粒数量很少,其实越放越多,最终达到一个天文数量。

每格棋盘应该放置麦粒详细数量:
第1格棋盘: 1
第2格棋盘: 2
第3格棋盘: 4
第4格棋盘: 8
第5格棋盘: 16
……
第64格棋盘: 9223372036854775808
       
现在请你编写程序实现计算棋盘上某个格子上应该放的麦粒数量。

输入

输入一个正整数n,表示第n格棋盘。(1=<n<=63)

输出

输出一个整数,表示该格子上应该放的麦粒数量。

样例输入

3

样例输出

4

提示

来源

[提交][状态]