围绕着山顶有10个圆形排列的洞,狐狸要吃兔子,
兔子说:“能够,但必须先找到我,我就藏身于这十个洞中的某个洞。
你从1号洞找,下次隔1个洞(即3号洞)找,第三次隔2个洞(即6号洞)找,
再隔3个…之后在这个圆圈中如此类推,次数不限。”但狐狸从早到晚进进出出了1000次,仍没有找到兔子。
问:兔子可能在哪一个洞里?、数组
#include<stdio.h> int main(int argc, const char *argv[]) { //利用标记法,找过的洞标记1,没有找过的就是初始化的值。 int a[10]={0};//表明是10个洞府并将其初始化为0. int i;//循环变量。 int j=0;//表示狼从第一个洞府开始找。 //j:0 2 5 9 14 //2 3 4 5 => i+2。 //1000次循环能够采用%运算。 for(i=0;i<10000;i++) { a[j]=1;//表示找过的洞府。 j=(j+2+i)%10;//要找的下一个洞府。 } //遍历 for(i=0;i<10;i++) if(!a[i])//等价if(a[i]==0)。 printf("兔子可能藏在%d号洞\n",i+1);//数组下表0对应的是洞府的1号。 return 0; }