C语言利用递归函数解决一个数学问题
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 13:11:08
C语言利用递归函数解决一个数学问题
海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃子又平均分成五分,又多了一个,它同样把多的一个扔到了海里,拿走了一份,第三只,第四只,第五只都是这样做的,问海滩上原来有多少桃子
好象不对.
我是今天才学了怎么求n!的计算然后老师出的这题目
能不能给出完整的代码.
海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃子又平均分成五分,又多了一个,它同样把多的一个扔到了海里,拿走了一份,第三只,第四只,第五只都是这样做的,问海滩上原来有多少桃子
好象不对.
我是今天才学了怎么求n!的计算然后老师出的这题目
能不能给出完整的代码.
#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;
}
//其实这题用递归不好
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;
}
//其实这题用递归不好
C语言利用递归函数解决一个数学问题
C语言递归函数和反递归函数
一个c语言递归问题,用函数f(x,n)=sqrt(n+f(x,n-1)的.
请教一道c语言题,利用递归函数计算x的n次幂.
C语言背包问题递归算法
C语言递归函数问题# include void main(){int age(int n);printf("%d\n",
“C语言”设计一个递归函数,计算e的n次方.
C语言:利用函数递归求斐波那契数列,输出该数列的前17项,每行输出5个数.
求一段C语言代码:其功能是解决一个数学排列问题,
C语言数学函数sqrt()输出问题
C语言程序题:1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现
用递归函数(C语言)求1!+2!+3!+...+n!