【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
围绕着山顶有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;
}
来源:oschina
链接:https://my.oschina.net/u/4430408/blog/3153680