C++程序:在8*8棋盘上,第一个1粒米,以此类推,后一格是前一格的两倍。问共需多少粒米?
太大了,我定义成long long int 都装不下。
取了个巧,把八行八列的二维数组看成了一个一维数组
#include<iostream>
using namespace std;
int main()
{
long long int Meter(long long int a[]);
long long int arrey[64];
cout<<"sum="<<Meter(arrey)<<endl;
system("pause");
return 0;
}
long long int Meter(long long int arrey[64])
{
arrey[0]=1;
long long int sum=1;
for(int i=1;i<64;i++)
{
arrey[i]=arrey[i-1]*2; sum+=arrey[i];
}
return sum;
}
循环相加吧
热门标签: