编写程序求以下公式的值 1+(1/3)+1*2/(3*5)+1*2*3/(3*5*7)+…+1*2*….n/(3*5*….(2n+1))

来源:百度知道 编辑:UC知道 时间:2024/06/04 01:44:25
RT

因为你的式子不是很明确,在n=1,和n=0德时候,有点小问题,所以不太好写开始的几项.

我大概写一下思路,我想如果你有点基础就应该能明白我得意思了.

float cal(int);

float cal(int n){
int i;
float sum=0;

float a = 1;
float b = 1;

if(n<0) return 0;

for(i=0;i<n;i++){
sum = sum + a/b;
a = a * (i+1);
b = b * (2*i + 1);
}

return sum;
}

简单的说,思路就是把某一项的分子分母视为 a b,这样没当n+1的时候就乘以个n+1,和 2n+1;

思路就是这样,下面的自己解决吧.

我同意楼上的算法!float表示单精度,int表示整数!个人认为用vb编写简单一点!