老师出的一道题 不知道怎么算 大神教教
五个人分别为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; }