知道的麻烦了,急啊。。
#include <stdio.h>
main()
{
unsigned double result=0;
int i;
unsigned double yy(int n);
for (i=1;i<30001;i++)
{
result+=yy(i);
printf ("%-6d",i);
printf ("%g\n",result);
}
printf ("\nthe result is:%f",result);
getch();
}
unsigned double yy(int n)
{
unsigned double y;
if (n==1||n==2) y=1;
else y=(n-1)*yy(n-1)+(n-2)*yy(n-2);
return y;
}
[此贴子已经被作者于2007-5-19 22:40:03编辑过]
30000?也许会越界吧.....我无语了,到8越界,数组放不下,不过就第一次慢点.其他望大侠相助
#include <stdio.h>
long e(int a);
main()
{
int n=0;
for(;n!=-1;)
{
printf("please int put the N\n[n=-1,exit]");
scanf("%d",&n);
printf("the result is %ld\n",e(n));
getchar();
}
}
long e(int a)
{
int i;
static k=0;
static long b[3000]={1,1};
if(k==1);
else
{
for(i=2;i<3000;i++)
b[i]=b[i-1]*b[i-1]+b[i-2]*b[2-1];
k=1;
}
i=b[a-1];
return i;
}