| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2109 人关注过本帖
标题:在.net论坛看到的一个题目"一个小学数学题如何编程?"
只看楼主 加入收藏
Benison
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-6-23
收藏
得分:0 
感觉有些数学题还是不要用编程的好!

100个数以内除去和分子相同的外乘起来,连续加98次,再除以1到100的乘积...
(3*4*...*100+1*4*5*...*100+1*2*5*6*...*100+...)/(1*2*3..*100)
相当于通分
好象比较笨拙

[此贴子已经被作者于2007-8-28 21:11:25编辑过]


2007-08-28 21:00
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
以下是引用穆扬在2006-7-17 16:05:15的发言:
1.msdn是什么我知道,但有一百多年没看了
2.round是什么我不知道,因为我不喜欢这种东西,vb里面有些东西是败笔,在我看来,使用这些东西很掉价
3.如果真的要查round是什么,到论坛发帖在我看来实在是浪费网络资源,也是不尊重其他网友
4.我追问round的真正的意思是为什么要使用它,使用的理由是什么.不知道是我太含蓄还是各位太...,反正没有人正视这个问题
现在我明说吧
a.为什么使用round
b.Round(Sum, 2)里面的那个2,依据何在,为什么不取3,不取4,不取100
c.请理解并正视帖主真正的问题"大家看看怎么才能得到正确的结果呢?",Round(Sum, 2)难道不是伪造答案吗?
d.Round(Sum, 2)如果不是伪造答案,那么我请问当问题变成
1/1*2+1/2*3
也就是说只求前两项和的时候
麻烦你告诉我你那段代码的结果

我个人认为过程比结果更重要些


Repeat  Life=Study;Until (death);
2007-08-28 21:13
Benison
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-6-23
收藏
得分:0 
Private Sub Form_click()
a = 0
b = 1
For i = 1 To 100
b = b * i
Next
For i = 1 To 99
a = a + b / (i * (i + 1))
Next
a = a / b
Print a
End Sub
用我刚才说的方法,不知道各位觉得如何?还是笨?

[此贴子已经被作者于2007-8-28 21:22:19编辑过]


2007-08-28 21:21
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
又是一个考古学家.

我的msn: myfend@
2007-08-28 21:24
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
什么时候的帖子你都翻出来呀?

1/1*2+1/2*3+1/3*4+……+1/99*100=?

(1/1-1/2)+(1/2-1/3)+……(1/99-1/100)
削去中间正负项则……得1-1/100

你用VB算下1-1/100得结果如何?这个题你为什么还要写个函数呢?直接print 1-1/100……这样怎么会得到你那么长呢?
人家为什么要Round,那问问自己这个题写这个函数干什么,还不精确……

微积分算出来某些数列的和是整数,如果一个个算永远只是接近那个数,越高级的计算机算的位数越多,越精确小数部分越多,和整数的位数却越差越远……你能说用高级的反而不对麽?


因为除法是不精确的所以才导致的不符合标准答案。简单的例子,1/3,无限个3,那个程序能显示完全?

快上课了……
2007-08-28 21:32
Benison
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2007-6-23
收藏
得分:0 
以下是引用slore在2007-8-28 21:32:01的发言:
什么时候的帖子你都翻出来呀?

1/1*2+1/2*3+1/3*4+……+1/99*100=?

(1/1-1/2)+(1/2-1/3)+……(1/99-1/100)
削去中间正负项则……得1-1/100

你用VB算下1-1/100得结果如何?这个题你为什么还要写个函数呢?直接print 1-1/100……这样怎么会得到你那么长呢?
人家为什么要Round,那问问自己这个题写这个函数干什么,还不精确……

微积分算出来某些数列的和是整数,如果一个个算永远只是接近那个数,越高级的计算机算的位数越多,越精确小数部分越多,和整数的位数却越差越远……你能说用高级的反而不对麽?


因为除法是不精确的所以才导致的不符合标准答案。简单的例子,1/3,无限个3,那个程序能显示完全?

我是因为在搜索框里查了"数学题"才找到的,时间久远好象也不是我的错呀!
既然是编写程序,当然不是叫你直接去用1-1/00吧?
再者,1/3让你算也还是0.333吧!


2007-08-28 21:36
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
以下是引用缘吇弹在2007-8-28 21:13:18的发言:

以下是引用穆扬在2006-7-17 16:05:15的发言:
1.msdn是什么我知道,但有一百多年没看了
2.round是什么我不知道,因为我不喜欢这种东西,vb里面有些东西是败笔,在我看来,使用这些东西很掉价
3.如果真的要查round是什么,到论坛发帖在我看来实在是浪费网络资源,也是不尊重其他网友
4.我追问round的真正的意思是为什么要使用它,使用的理由是什么.不知道是我太含蓄还是各位太...,反正没有人正视这个问题
现在我明说吧
a.为什么使用round
b.Round(Sum, 2)里面的那个2,依据何在,为什么不取3,不取4,不取100
c.请理解并正视帖主真正的问题"大家看看怎么才能得到正确的结果呢?",Round(Sum, 2)难道不是伪造答案吗?
d.Round(Sum, 2)如果不是伪造答案,那么我请问当问题变成
1/1*2+1/2*3
也就是说只求前两项和的时候
麻烦你告诉我你那段代码的结果

我个人认为过程比结果更重要些

非常支持。楼主看起来很1902.

2007-08-28 21:51
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
既然是编写程序,当然不是叫你直接去用1-1/00吧?


他的过程可以分析字符串……处理然后得到1-1/100……如果要"标准答案"

快上课了……
2007-08-28 21:57
心中有剑
Rank: 2
等 级:新手上路
威 望:5
帖 子:611
专家分:0
注 册:2007-5-18
收藏
得分:0 

没有错啊!谁说有错的

Private Sub Command1_Click()
Dim i As Integer
Dim Sum
For i = 1 To 99
Sum = Sum + 1 / (i * (i + 1))
Next
Label1.Caption = Sum
End Sub
我的答案就 .99啊


2007-08-29 08:58
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 
发错位置啦

[此贴子已经被作者于2007-8-29 11:12:03编辑过]


全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-29 10:27
快速回复:在.net论坛看到的一个题目"一个小学数学题如何编程?"
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068137 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved