老师出的一道题 不知道怎么算 大神教教
五个人分别为A B C D E一起去打鱼,打完鱼之后 A把鱼分成等量的5份并且扔掉了多余的一条鱼 然后拿走了自己的那份
B把剩下的鱼也分成等量的5份并且扔掉了多余的一条鱼 然后拿走了自己的那份
后面的C D E依次按照这个方法来分鱼。 问他们至少打了多少条鱼?
(我们班都是c的入门小菜鸟 老师出的这个题目也不会超出教给我们的范围 目前只学到了结构体 所以大神们不要用太强的方法来编 不然我也看不懂
)
程序代码:#include<stdio.h>
/*分鱼递归函数*/
int fish(int n, int x)
{
if((x-1)%5 == 0)
{
if(n == 1)
return 1; /*递归出口*/
else
return fish(n-1, (x-1)/5*4); /*递归调用*/
}
return 0; /*x不是符合题意的解,返回0*/
}
int main()
{
int i=0, flag=0, x;
do
{
i=i+1;
x=i*5+1; /*x最小值为6,以后每次增加5*/
if(fish(5, x)) /*将x传入分鱼递归函数进行检验*/
{
flag=1; /*找到第一个符合题意的x则置标志位为1*/
printf("五个人合伙捕到的鱼总数为%d\n", x);
}
}
while(!flag); /*未找到符合题意的x,继续循环,否则退出循环*/
return 0;
}