狐狸吃兔子问题(约瑟环)————穷且益坚,不坠青云之志。

                   

        围绕着山顶有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;
}
相关文章
相关标签/搜索