2470 - 【数组】国际象棋盘

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

    上机练习5.1.1     国际象棋盘中,第1格放1粒米,第2格放2粒米,第3格放4粒米,第4格放8粒米,第5格放16粒米,......问:16个格子总共可以放多少粒米?

    【分析】第i个格子可放多少粒米:2i-1,也可以说第i个格子的米粒数等于第i-1个格子米粒数的2倍。

 

题目输入

无输入。

 

题目输出

一个整数,表示16个格子总共放的米粒数。

 

输入/输出样例

输入格式


                        

输出格式


                        

C语言解答

#include<stdio.h>
int a[20];
int main()
{
	int n=0,j,i;
	a[1]=1;
	for(i=1;i<=16;i++)
	{
		a[i+1]=2*a[i];
	}
	for(j=1;j<=16;j++)
	{
		n=n+a[j];
	}
	printf("%d",n);
	return 0;
}

C++解答

#include<iostream>
using namespace std;
int a[16],s=0;
int main()
{
	a[0]=1;
	for (int i=1;i<16;i++)
		a[i]=a[i-1]*2;
	for (int i=0;i<16;++i)
		s+=a[i];
	cout<<s<<endl;
	return 0;
}

Java解答

public class Main {
	public static void main(String[] args) {
		System.out.println((int)(1*((1-Math.pow(2, 16))/(1-2))));
	}
}