以下是引用beyondyf在2013-4-21 19:13:54的发言:
这两段代码都不对。再好好想想。
错了啊!....晚自习回来再想想....这两段代码都不对。再好好想想。

[ 本帖最后由 Susake 于 2013-4-21 21:27 编辑 ]

仰望星空...........不忘初心!

程序代码:#include<stdio.h>
double qiwang(int n)
{
double q=0.00000;
int j;
if(1==n)
return 1.00000;
else if(2==n)
return 2.00000;
else
{
if(n%2==0)
{
for(j=n;j>n/2;j--)
q+=(1.0/n)*2*(qiwang(j-1)+1);
return q;
}
else
{
for(j=n;j>n/2;j--)
q+=(1.0/n)*2*(qiwang(j-1)+1);
q=q-1.0/n*(qiwang(j)+1);
return q;
}
}
}
void main()
{
int t,n[400],i;
scanf("%d",&t);
for(i=0;i<t;i++)
scanf("%d",&n[i]);
for(i=0;i<t;i++)
printf("%f\n",qiwang(n[i]));
}
都说效率不高
