永发信息网

C语言编程求助 数列: E(1)=E(2)=1 E(n)=(n-1)*E(n-1)+(n-2)*E(n-2) (n>2)

答案:2  悬赏:30  手机版
解决时间 2021-11-26 13:29
C语言编程求助 数列: E(1)=E(2)=1 E(n)=(n-1)*E(n-1)+(n-2)*E(n-2) (n>2)
最佳答案
冲内存了,你的数组就300个,你循环30000-3+1次,出界出的十万八千里了
for的那句改成for(i=3;i<300;i++)
还有最后一句,输出格式不对,整形要用整形的格式:printf("%d\n",count);追问可是他要求[1,30000]之内E数的个数啊,for不应该是i从3到30000么?追答你数组定义长度只有300个单元,,你想想e[30000]这个地址已经超到哪里了?
求1-30000之间,那你的算法就有问题,根据E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)
这个公式,不必要去用数组去记录所有,你只要记录前面2项就足够参加运算了追问我不是特别懂,刚入门。。那具体要怎么改?追答具体要怎么做,就要知道E数列是什么回事,这个你要先告诉我才能帮你。不知道E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)
这句是判断条件还是计算公式?在你的程序里面,我其实没看到任何判断,也就是说你循环了多少次,count就是多少,这个肯定是不对的具体要怎么做,就要知道E数列是什么回事,这个你要先告诉我才能帮你。不知道E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)
这句是判断条件还是计算公式?在你的程序里面,我其实没看到任何判断,也就是说你循环了多少次,count就是多少,这个肯定是不对的追问我以为E(n)=..他是FOR循环的复合语序。然后每执行完一个E(n)就count+1,到循环结束
意思是需要加一个判断条件?像这样?
main()
{int i,count=0;
double e[30000]={1,1,1};
for(i=3;i<=30000;i++)
{if(e[i]=(i-1)*e[i-1]+(i-2)*e[i-2])
count++;}
全部回答
修改后的代码:
#include

int main()

{

int i,count=2; // 先把E(1)和E(2)算上

double e[300]={1,1,1};

for(i=3;i<300;i++)

{

e[i]=(i-1)*e[i-1]+(i-2)*e[i-2];

if(e[i]>=1&&e[i]<=30000)

{

count++;

}

else

{

break;

}

}

printf("%d\n",count);

return 0;

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
两个月的泰迪滴多少a型灭虫宁滴剂
什么是复合增压?
中食净化和保食安是什么关系?
坐火车软座图片
牙疼要吃什么?
妈妈信佛并且皈依了佛门,后来我们母女的关系
首尔晚上有一地玫瑰花的广场是哪里
支付宝为什么每天的提现金额限制是5000元!
婚纱照套餐的首席和资深摄影师/化妆师如
“就算有一天你会怀念,可是我已在”是哪首歌
gta5怎么升级叛乱分子
拳皇求一个会十拳剑的草稚京人物包
如何去除暴风影音5弹出的广告?
2乘以12等于4乘以6这个等式,写出8个比例试
差速器12.44:1和9:33差多少
推荐资讯
乐昌市中英文中学要多少分才能考上
中山市中山港有什么好玩的
风柜地址在哪,我要去那里办事,
pp板在105摄氏度会变形吗
喻继高的作品价值怎么样?听说不是很厉害吗?
宁夏哪家公司可以生产质量好的防火材料?
A10-6800K的CPU性能怎么样
什么样的黄桃适合做罐头?
请问,拦河大坝建好后,关闭闸门,上游形成河
如何将多点监控画面集中在一个电脑屏幕显示?
纯原se地址有知道的么?有点事想过去!
申请把被执行人拉入黑名单的程序时间是多少天
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?