题目概要:
国际象棋棋盘上(8*8),第一格放了一粒米,第二格放了两粒米,第三格放了四粒米,第四格放了八粒米......问第s个放有几粒米?
输出s个可放的米粒数。
提示:因为s较大,所以将s%10007后输出。
代码行如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,s=1;
cin>>a;
for(int i=1;i<a;i++){
s*=2;
s=s%10007;
}
cout<<s;
return 0;
}
代码比较简单,但是该题的唯一难度在于想到在循环过程中%10007,这是该题的难点。
输入样例1:6 输出样例1:32 输入样例2:64 输出样例2:1899