您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 合肥分类信息网,免费分类信息发布

C语言课堂 狼追兔子问题

2020/3/29 19:05:53发布240次查看
  问题描述
  一只兔子躲进了10个环形分布的洞中的一个。狼在个洞中没有找到兔子,就隔一个洞,到第3个洞去找;也没有找到,就隔2个洞,到第6个洞去找;以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?
问题分析
  首先定义一个数组a[11],其数组元素为a[1],a[2],a[3]……a[10],这10个数组元素分别表示10个洞,初值均置为1。
  接着使用“穷举法”来找兔子,通过循环结构进行穷举,设大寻找次数为1000次。由于洞只有10个,因此第n次查找对应第n%10个洞,如果在第n%10个洞中没有找到兔子,则将数组元素a[n%10]置0。
  当循环结束后,再检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身于该洞中。
  下面是程序流程图:
  算法设计
  理解了问题分析中的递归处理过程后,算法设计就非常简单了。只需要将公式转换成一个函数,然后用main()函数调用它就可以了。
  下面是完整的代码:
  #include
  int age(int n)
  {
  int x;
  if(n == 1)
  x=10;
  else
  x=age(n-1)+2;
  return x;
  }
  int main()
  {
  int n;
  printf(请输入n值:);
  scanf(%d, &n);
  printf(第%d个人的年龄为%d , n, age(n));
  return 0;
  }
  运行结果:
  可能在第2个洞
  可能在第4个洞
  可能在第7个洞
  可能在第9个洞

合肥分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录