
c语言,请高手指教编程题,设计fun函数用递归的方法求 π/4公式在第一题
这题只有公式,下面那题不是求π/4了,没学过指针,要多菜鸟有多菜鸟的绝招使出来吧~~毕竟我是个菜鸟~...
这题只有公式,下面那题不是求π/4了,没学过指针,要多菜鸟有多菜鸟的绝招使出来吧~~毕竟我是个菜鸟~
展开
3个回答
展开全部
//用递归求Pi
#include <stdio.h>
#include <math.h>
float num=2;
int pos = 1;递归层次
void func(float* p_num){ //
if (pos>=1000) //每调用一次func时 ,判断调用次数,增加到1000时,返回,递归到地的条件。
return;
num *= *p_num;
*p_num = 2/sqrt(2/(*p_num)+2); //第pos+1个因子
pos++; //没调用一次pos减1
func(p_num);
}
int main(){
float p_num=2/sqrt(2); //第二个因子
func(&p_num); //传递第二个因子
printf("%f\n",num);
system("pause");
}
#include <stdio.h>
#include <math.h>
float num=2;
int pos = 1;递归层次
void func(float* p_num){ //
if (pos>=1000) //每调用一次func时 ,判断调用次数,增加到1000时,返回,递归到地的条件。
return;
num *= *p_num;
*p_num = 2/sqrt(2/(*p_num)+2); //第pos+1个因子
pos++; //没调用一次pos减1
func(p_num);
}
int main(){
float p_num=2/sqrt(2); //第二个因子
func(&p_num); //传递第二个因子
printf("%f\n",num);
system("pause");
}
展开全部
double genhao(int n)
{
if(n==1)
return sqrt(2);
else
return sqrt(2+genhao(n-1));
}
main函数里你就自己写好了
{
int i=0;
double value =2;
for(i=1;i<100000;i++)//值越大越精确
{
value=value*2.0/genhao(i);
}
printf("%.10f",value/4.0);//10为保留的小数位
}
{
if(n==1)
return sqrt(2);
else
return sqrt(2+genhao(n-1));
}
main函数里你就自己写好了
{
int i=0;
double value =2;
for(i=1;i<100000;i++)//值越大越精确
{
value=value*2.0/genhao(i);
}
printf("%.10f",value/4.0);//10为保留的小数位
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道什么题目。
“编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子之*********于是1000”
“编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子之*********于是1000”
追问
那是第二题,我是说第一题哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询