C语言利用递归函数解决一个数学问题

学习 时间:2026-04-07 21:54:35 阅读:8174
C语言利用递归函数解决一个数学问题海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃子又平均分成五分,又多了一个,它同样把多的一个扔到了海里,拿走了一份,第三只,第四只,第五只都是这样做的,问海滩上原来有多少桃子好象不对.我是今天才学了怎么求n!的计算然后老师出的这题目能不能给出完整的代码.

最佳回答

无情的香氛

伶俐的草丛

2026-04-07 21:54:35

#include int test(int total,int count) { if(count == 6) //如果分五次之后仍满足要求,则该数为所求{return 1; }if(total % 5 != 1) //如果不满足分五分后剩一个则该数不满足要求return 0; else if( test((total-1) * 4 / 5,count+1)) //将该数的5分之1继续尝试分{printf("第%d次分时还剩%d个桃子\n",count,total);return 1; }else return 0;} int main(){int i = 4;while(1){if(test(++i,1)) break; //看看此数是否能够符合题意}printf("the num is %d\n",i);return 1;}//其实这题用递归不好

最新回答共有2条回答

  • 拼搏的故事
    回复
    2026-04-07 21:54:35

    #include int test(int total,int count) { if(count == 6) //如果分五次之后仍满足要求,则该数为所求{return 1; }if(total % 5 != 1) //如果不满足分五分后剩一个则该数不满足要求return 0; else if( test((total-1) * 4 / 5,count+1)) //将该数的5分之1继续尝试分{printf("第%d次分时还剩%d个桃子\n",count,total);return 1; }else return 0;} int main(){int i = 4;while(1){if(test(++i,1)) break; //看看此数是否能够符合题意}printf("the num is %d\n",i);return 1;}//其实这题用递归不好

上一篇 单车坏了,我们一起修理吧.用英语翻译

下一篇 熠字粤语怎么读