2470 - 【数组】国际象棋盘

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

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

 

题目输入

无输入。

 

题目输出

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

 

输入/输出样例

题目输入


                

题目输出


                

提示

方法一:开16个元素的数组,按照规则,在数组中放米粒:第二个数组元素开始,每个数组元素中的米粒数是前面数组元素的2倍,然后相加。

方法二:试试数学知识,推出前i个格子总共放米粒的公式,可以不用数组直接用公式哦。

 

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;
}

提示

方法一:开16个元素的数组,按照规则,在数组中放米粒:第二个数组元素开始,每个数组元素中的米粒数是前面数组元素的2倍,然后相加。

方法二:试试数学知识,推出前i个格子总共放米粒的公式,可以不用数组直接用公式哦。

 

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题