//相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋，决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8×8 共64格的象棋棋盘说：陛下，请您赏给我一些麦子吧。就在棋盘的第1格中放1粒，第2格放2粒，第3格放4粒，以后每一格都比前一格增加一倍，依此放完棋盘上64格，我就感激不尽了。舍罕王让人扛来一袋麦子，他要兑现他的许诺。请编程求出国王总共需要将多少麦子赏赐给他的宰相。

//该问题描述比较复杂，但只要抽象出其数学模型，便很容易解决了。

//根据题意，麦子的放法是：在棋盘的第1格中放1粒，第2格放2粒，第3格放4粒,以后每一格都比前一格增加一倍，依次放完棋盘上64格。

//由此可推知，按照如此放法可得到的麦子的总数为：

//2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 + ... + 2^63 = ?


#include <stdio.h>
#include <math.h>
int main()
{
    double sum = 0;  /*定义double型变量sum存放累加和*/
    int i;
    /*使用循环求累加和*/
    for( i=1; i<=64; i++ )
        sum = sum + pow(2.0, (i-1));  /*注意变量为double型*/
    printf("国王总共需要赏赐给宰相的麦子数为：\n%f\n", sum);  /*打印结果*/
    return 0;
}


//运行结果：

//国王总共需要赏赐给宰相的麦子数为：
//18446744073709551616.000000
