2470 - 【数组】国际象棋盘
时间限制 : 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)))); } }