CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

问大家一个初中数学题,速求简便算法?

楼主KRZhang(大坏蛋)2003-11-01 09:47:13 在 .NET技术 / ASP.NET 提问

计算:  
  1+(1/1+2)+(1/1+2+3)+(1/1+2+3+4)+……+(1/1+2+3+4+……100)  
   
  在线等。 问题点数:20、回复次数:9Top

1 楼KRZhang(大坏蛋)回复于 2003-11-01 11:11:02 得分 0

写得精确点,应该是:  
  1+(1/(1+2))+(1/(1+2+3))+(1/(1+2+3+4))+……+(1/(1+2+3+4+……100))  
   
  请写出步骤Top

2 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2003-11-01 11:33:11 得分 4

int   Count(int   max){  
  int   retVal=1;  
  for(int   i=2;i<=max;i++){  
  int   n=0;  
  for(int   j=1;j<=i;j++){  
  n+=j;  
  }  
  retVal+=(1/n);  
  }  
  return   retVal;  
  }  
   
  Count(100)的结果是1Top

3 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2003-11-01 11:37:11 得分 5

对不起,错得远了,返回的值应该是double,用这个试试:  
   
  double   Count(int   max){  
  double   retVal=1;  
  for(int   i=2;i<=max;i++){  
  int   n=0;  
  for(int   j=1;j<=i;j++){  
  n+=j;  
  }  
  retVal+=(1.0/n);  
  }  
  return   retVal;  
  }  
   
  Count(100)返回的结果是:1.98019801980198Top

4 楼loulanlouzhu(桃花潭水深千尺,不及阿勇念你情)回复于 2003-11-01 11:46:47 得分 3

 
  double   j   =   0;  
  for(int   i=1;i<=100;i++)  
  {  
   
  double   a   =   2*(1.0/i-(1.0/(1.0+i)));    
    j   =   j+a;  
   
   
    }  
  Response.Write(j.ToString());Top

5 楼loulanlouzhu(桃花潭水深千尺,不及阿勇念你情)回复于 2003-11-01 11:48:20 得分 2

1.98019801980198   返回结果!~Top

6 楼arding123(阿拉丁)回复于 2003-11-01 11:49:47 得分 2

private   double   Count(   int   max   )  
  {  
      double   ret   =   0.00;  
      int         n   =   0;  
      for   (   int   i   =   1;   i   <=   100;   i++   )  
      {  
            n   +=   i;  
            ret   +=   1.0/n   ;  
      }  
      return   ret;  
  }Top

7 楼osborne(做人要本份!)回复于 2003-11-01 11:54:51 得分 2

private   double   GetTotal(int   maxValue)  
  {  
        if(maxValue   <=0   )  
              return   0;  
   
        double   dTotal   =   0.0;  
        double   sum   =   0.0;  
        for(int   i=1;i   <=   maxValue;   i++)  
        {  
            sum   +=   i;  
            dTotal   +=   1/sum;  
        }  
        return   ret;  
  }Top

8 楼rosy11(rosy)回复于 2003-11-01 11:54:56 得分 0

这个有规律,我记得有公式直接代的。你查一下Top

9 楼loulanlouzhu(桃花潭水深千尺,不及阿勇念你情)回复于 2003-11-01 12:00:52 得分 2

我说说我的想法吧!!  
  应该还记得小学还是初中有一篇关于小高斯怎么计算1+2+3+....+100的题目吧!!  
   
  高斯的计算方法:100(100+1)/2;  
  应用到这个题目  
   
  1/(1+2+3+....+100)   =   1/100(100+1)/2   =   2*(1/100-1/(100+1));  
   
  100用i代替就是2*(1/i-1/(i+1));  
   
  你要的是从1~100的值,所以做个循环相加就可以了!!Top

相关问题

  • 关于数学的算法
  • 一个数学算法
  • 初中生的数学题
  • 50分求此题的简便算法
  • 数学问题(算法高手请进)
  • 请教算法解决数学问题
  • 缩水算法的数学论证?
  • 一个数学算法求解!!!
  • 一个数学算法的问题
  • 数学算法编程 高难度

关键词

得分解答快速导航

  • 帖主:KRZhang
  • webdiyer
  • webdiyer
  • loulanlouzhu
  • loulanlouzhu
  • arding123
  • osborne
  • loulanlouzhu

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo