| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 591 人关注过本帖
标题:问问题了!想了好久还是没想通!
收藏  订阅  推荐  打印 
wanzhiweime
Rank: 1
等级:新手上路
帖子:23
积分:334
注册:2007-5-9
问问题了!想了好久还是没想通!

问题:求1-1/2+1/3-1/4+...+1/99-1/100?
算法可以表示如下:
S1:sign=1
S2:sum=1
S3:deno=2
S4:sign=(-1)*sign
S5:term=sign*(1/deno)
S6:sum=sum+term
S7:deno=deno+1
S8:若deno≤100返回S4;否则算法结束.
       我想了好久,因为题目是一次负,再一次正.那S4表示的是sign可以是正也可以是负.那电脑怎么判断它什么时候是正什么时候是负呢?我搞不懂的是返回S4时,电脑是怎么选择sign是正还是负的.因为他的步骤好像没有说啊!对吧?
       如果不用写sign什么时候是正什么时候是负的话.那题目是1+1/2+1/3+1/4+...+1/99+1/100的话,那不是也可以用以上的那个表达式来表达了???
搜索更多相关主题的帖子: sign  deno  sum  term  
2007-12-5 14:01
nangua
Rank: 2
等级:注册会员
帖子:60
积分:728
注册:2007-6-18

干嘛搞那么麻烦
算了,我把两种题目的答案给你   你自己对比一下吧
首先   题目 【1+1/2+1/3+1/4+...+1/99+1/100?】
程序如下:
main()
{
  int i=2;
float sum=1.0;
while(i<=100)
{
   sum+=1/i*1.0;
   i++;
  }
printf(("sum=%f\n",sum);
}


         题目 【1-1/2+1/3-1/4+...+1/99-1/100?】
程序如下:
main()
{
  int i=2;
float sum=1.0;
while(i<=100)
{
   if(i%2!=0)
   {
    sum+=1/i*1.0;
    i++;
    }
    else
   {
    sum-=1/i*1.0;
    i++;
    }
  }
printf(("sum=%f\n",sum);
}

南瓜QQ:281467266 邮箱 hack.nangua@163.com 望多多结交网络编程爱好者.
2007-12-5 14:24
wanzhiweime
Rank: 1
等级:新手上路
帖子:23
积分:334
注册:2007-5-9

我是初学者!你写的有些都看不懂啦!只要帮我解释一下我说的那个问题就好了!谢谢!

2007-12-5 14:45
病书生
Rank: 2
等级:注册会员
帖子:93
积分:1150
注册:2007-11-8

S4:sign=(-1)*sign
这里表示的是-1的sign次方 所以单数项为负,偶数项为正
2007-12-5 14:54
wanzhiweime
Rank: 1
等级:新手上路
帖子:23
积分:334
注册:2007-5-9

原来是这个意思啊?那个"*"号就应该是在数字的上面呀!可是书上写的就是在中间,那就是乘以吧?难道是书上写错啦?还是编程里就是这样表达的呀?

2007-12-5 15:02
病书生
Rank: 2
等级:注册会员
帖子:93
积分:1150
注册:2007-11-8

1-1/2+1/3-1/4+...+1/99-1/100
-1/2为第一项
首先sign=1
S4:sign=(-1)*sign   即sign=(-1)*1=-1
第二次:S4:sign=(-1)*sign,即sign=(-1)*(-1)=1 所以第2项为正
以次类推  试着看下2楼的程序
2007-12-5 15:04
wanzhiweime
Rank: 1
等级:新手上路
帖子:23
积分:334
注册:2007-5-9

还有,谢谢YOU!呵呵!

2007-12-5 15:06
病书生
Rank: 2
等级:注册会员
帖子:93
积分:1150
注册:2007-11-8

原帖由 [bold][underline]wanzhiweime[/underline][/bold] 于 2007-12-5 15:02 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1132518&ptid=190543][/url]
原来是这个意思啊?那个"*"号就应该是在数字的上面呀!可是书上写的就是在中间,那就是乘以吧?难道是书上写错啦?还是编程里就是这样表达的呀?
不,是我表达错了~~~ 但是意思是那个意思 书并没有写错
2007-12-5 15:07
mndren
Rank: 1
等级:新手上路
帖子:31
积分:428
注册:2007-11-17

判断输入的数是奇数还是偶数,然后用两个函数实现
2007-12-5 15:11
wanzhiweime
Rank: 1
等级:新手上路
帖子:23
积分:334
注册:2007-5-9

恩!我知道了!我看懂了!呵呵!谢谢你们!

2007-12-5 15:27
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059686 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved