免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 880 | 回复: 2

请帮我解决一道题目! [复制链接]

论坛徽章:
0
发表于 2006-05-25 08:20 |显示全部楼层
令x1 ,x 2,…,xn是一串实数,设计算法实现寻找一个连续的子序列,使得他们的乘积在所有子序列的乘积中最大。
随便什么样的算法都可以!
谢谢!!

论坛徽章:
0
发表于 2006-05-25 09:53 |显示全部楼层
不会没人会吧?

论坛徽章:
0
发表于 2006-05-25 10:30 |显示全部楼层
以前写的:

  1. #include <stdio.h>

  2. double maxprod(double x[],int n)
  3. {
  4.     int i;
  5.     double best = 1,bc = 1,wc = 1,t;

  6.     for(i = 0;i<n;++i){
  7.         bc *= x[i];
  8.         wc *= x[i];
  9.         if(wc>bc)
  10.             t = bc,bc = wc,wc = t;
  11.         if(bc>best) best = bc;
  12.         if(bc<1) bc = 1;
  13.     }
  14.     return best;
  15. }

  16. int main()
  17. {
  18.     int n,i;
  19.     double x[100];

  20.     scanf("%d",&n);
  21.     for(i = 0;i<n;++i) scanf("%lf",&x[i]);
  22.     printf("%f\n",maxprod(x,n));
  23.     return 0;
  24. }

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP