要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和,求改错

#include <stdio.h>
int crisscross(int n)
{
int f1;
if(n==1)
f1=1;
else
f1=crisscross(n-1)+1;
if(n%2==0)
f1=-f1;
return f1;
}
int interlock(int n)
{
int f2;
if(n==1)
f2=1;
else
f2=interlock(n-1)+2;
return f2;
}
int main()
{
int N,i,n;
float sum;
scanf("%d",&N);
for(i=1;i<=N;i++)
sum+=crisscross(n)/interlock(n);
printf("%.3f\n",sum);
return 0;
}

输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留3位小数。
输入样例:5
输出样例:0.917

第1个回答  2014-12-31
设X^(1/6)=Y,方程可化简为:Y^3-3Y^2=3Y-9,移项得Y^3-3Y^2-3Y+9=0,Y^2(Y-3)-3(Y-3)=0,(Y^2-3)(Y-3)=0,(Y-根号3)(Y+根号3)(Y-3)=0,则Y有3个解:根号3,-根号3,3,即X^(1/6)=根号3或-根号3或3,解得X=27(当X^(1/6)=根号3或-根号3时解得的X相同)或729。本回答被网友采纳
相似回答