2012年西北工业大学机试第四题
程序员文章站
2022-05-15 15:00:56
...
题目意思时每次取的个数都可以不同
#include<iostream>
using namespace std;
int a[1005] = {0};
void init(){
//当数量小于等于10时,当数量为10时Jerry先取,剩余为奇数
//当数量为奇数时,Tom先取,无论Tom一次取出多少,剩余都是偶数
for(int i = 1;i <= 10;i++){
if(i % 2 == 0){
a[i] = 1;//表示为偶数时应该Jerry先取
}else{
a[i] = 0;//表示为奇数时应该Jerry先取
}
}
for(int i = 11;i < 1005;i++){
//若Jerry先取,无论此时先取1,5,10中的哪一个
//下一步还是需要Jerry先取最后一颗才会被Tom取走
if(a[i-1] && a[i-5] && a[i-10]){
a[i] = 0;
}else{
a[i] = 1;
}
}
}
int main(){
int n;
init();
while(cin>>n&&n){
cout<<a[n]<<endl;
}
return 0;
}
上一篇: mysql索引详解(转)