鱼C论坛

 找回密码
 立即注册
查看: 4390|回复: 4

递归分鱼问题

[复制链接]
发表于 2014-8-23 01:08:42 | 显示全部楼层
你这题是错的。题应该是先均分成5份,然后把多余的一条扔掉。这样才能算出来。
  1. <p>int fun(int fishCount,int peopleCount)
  2. {
  3.         //最后函数的出口
  4.         if (peopleCount == 0)
  5.         {
  6.                 return 1;
  7.         }
  8.         if(fishCount%PEOPLE_COUNT ==1)
  9.         {
  10.                 fishCount = fishCount - (fishCount-1)/PEOPLE_COUNT - 1;
  11.                 fun(fishCount,peopleCount-1);
  12.         }
  13.         else
  14.         {
  15.                 return 0;
  16.         }
  17. }

  18. int _tmain(int argc, _TCHAR* argv[])
  19. {
  20.         int i;
  21.         for(i=6;i<100000;i++)
  22.         {
  23.                 if (fun(i,PEOPLE_COUNT))
  24.                 {
  25.                         printf("至少得%d条鱼",i);
  26.                         break;
  27.                 }
  28.         }
  29.         return 0;
  30. }</p><p>你看看这个能不能懂!
  31. </p>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-10 07:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表