第五章13

用int会溢出哦

【题目描述】

 

国际象棋棋盘有64格,若在第1格放1粒谷;第2格放2粒谷;第3格放4粒谷;第4格放8粒谷……如此一直放到第n格(n小于等于64)。假设2000000粒谷有一吨重,问需要多少吨谷才能存满n格?

 

【输入】

 

仅一行,一个整数n。

 

【输出】

 

谷粒的重量(吨,结果保留整数)。

 

【样例输入】

 

64

 

【样例输出】

 

9223372036855

#include <stdio.h>
#include <stdlib.h>

int main()
{
    double i,y,sum=0,n,j,h;
    scanf("%lf",&n);
    for(i=1;i<=n;i++){
         y=1;
        for(j=2;j<=i;j++){
          y*=2;
        }
        sum+=y;
    }
    printf("%.0lf",sum/2000000);
    return 0;
}

 

posted @ 2022-11-02 16:51  aquAAA  阅读(179)  评论(0编辑  收藏  举报