有n个洞口,狐狸在0号洞,兔子在其他洞,狐狸从第一个洞开始找兔子,然后隔两个洞口再从第三个洞口找,接着隔三个洞口从第六个洞口开始找....依次寻找,或者狐狸从第n-1个洞口开始寻找,然后隔两个洞口从第n-3个洞口开始找,接下来隔三个洞口....依次寻找
输入:n
输出:兔子所有安全的洞口
#include<iostream>
using namespace std;
int main(){
int n;
int temp1 = 1,temp2 = 1;
cin>>n;
int a[n];
a[n]={1};
for(int i= 0;i < n;i+= temp1){
a[i] = 0;
temp1++;//第一次隔两个洞口,此后间隔数每轮加一
}
for(int i = n - 1;i >= 0 ;i -= temp2){
a[i] = 0;
temp2++;
}
for(int i = 0;i < n;i++){
if(a[i])cout<<i<<"号洞口安全"<<endl;
}
return 0;
}