|
发表于 2014-8-23 01:08:42
|
显示全部楼层
你这题是错的。题应该是先均分成5份,然后把多余的一条扔掉。这样才能算出来。
- <p>int fun(int fishCount,int peopleCount)
- {
- //最后函数的出口
- if (peopleCount == 0)
- {
- return 1;
- }
- if(fishCount%PEOPLE_COUNT ==1)
- {
- fishCount = fishCount - (fishCount-1)/PEOPLE_COUNT - 1;
- fun(fishCount,peopleCount-1);
- }
- else
- {
- return 0;
- }
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int i;
- for(i=6;i<100000;i++)
- {
- if (fun(i,PEOPLE_COUNT))
- {
- printf("至少得%d条鱼",i);
- break;
- }
- }
- return 0;
- }</p><p>你看看这个能不能懂!
- </p>
复制代码 |
|