设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2159|回复: 7
打印 上一主题 下一主题

[原创发布] 【此贴作废】汗b- -今天学了平均数中位数众数,于是发个代

[复制链接]
梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

跳转到指定楼层
1
发表于 2012-5-22 22:33:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 end55rpg 于 2012-5-26 01:17 编辑

练习册的题计算量太坑爹了,EXCEL也用不来,就计算器,,TMD一个LJ!于是写了个方法查询这3数据!
算法很坑爹,欢迎改进,欢迎发出更简洁代码= =!
  1. def tongji(a)
  2.   eval "a = %w(#{a})"
  3.   sum=0
  4.   hash = {}
  5.   a.each{|n|hash[n] = hash[n].to_i + 1}
  6.   a.each{|n|sum+=n.to_i}
  7.   win = {nil=>0}
  8.   p hash
  9.   hash.each{|key, value| value.to_i >= win.values[0] ? win = {key=>value} : win}
  10.   
  11.   array = a.sort!{|aa,bb|aa.to_i<=>bb.to_i}
  12.   id = (-1)**array.size == -1 ? array.size/2 : (array.size+1)/2
  13.   if (-1)**array.size == -1
  14.     median = (array[id] + array[id+1]) / 2
  15.   else
  16.     median = array[id]
  17.   end
  18.   p "众数:"
  19.   p win
  20.   p "平均数: #{(sum / a.size)}"
  21.   p"中位数:"
  22.   p median
  23. end
  24. tongji("85 81 89 81 72 82 77 81 79 83")#测试
复制代码
统计 tongji()方法调用,传入那个类似于%w(data)建数组就行了= =!
比如tongji("1 2 3 -2 -1 0")

结果:
/n众数:31/n平均数: 0/n中位数:1

点评

众数有BUG2个:最多1个;全部数据出现次数为1则返回最后那个数据,求改进  发表于 2012-5-25 22:07

评分

参与人数 1星屑 +14 收起 理由
sai90306 + 14 下次也寫個常態分配什麼的拔!

查看全部评分

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

2
 楼主| 发表于 2012-5-22 22:39:14 | 只看该作者
测试:
  1. string = ""
  2. 1000.times{string += "#{rand(1000)} "}
  3. tongji(string)
复制代码

结果1:
  1. 03455689910101114141516182021212122222424252626293132323233333636363639393939414545474848495050535353545657576264656667686868717172737375767879808283858787909091929494959596969797989999100101101102103103106106107108109110111113113113114114115117117117122122123125125127128129130131131132132133134135136136140141142145145146146146147148148149151152152152152152154154155155157157157159160160161163163163164166166168168168171171171171172172173175175178178178179179179180181184184188188191191191192193194195197199199199200201203203204204204205206208208210211215219220221221223224225225225226226228229233236236237237238239239240240241241242244247248248249250253253254254255256256259259260261261264264264265268269270270272272273273274274275275279281282284284285286286288288288289289290290291292292294295295296297302303305306306308308309309309309310315315316317318318320320323329330334335335336336337337337338338338344344345346347347348349350351352352352355355356357357358360361362366367367368371372373377377377378379380381383383383385387388388390391392392396399399399399400400401403404407408408408409410410410411414414414415415415415416416418418419419420420421421423423424425427430430432434436437437438438439439440440442442443443444445445446447447448448449449449452453455455456456459459462462463464465465467469470470472472474475476477478478479481482483484484485487488491491492492493494495496496497498498498499499499500500502504505508508508509510511512513513514514514520520522522523523523528528530530532533533534534535535536539540543543543544544544545545546547547548549551552553554554554556558558561561562562564565566570570571571572573574574574575576577577577579579580581581583583583583584584587588589590591593593595595595597597598599601602603605605607607607610611611612614615615615616617618618620620620622624624625626627631631632635635637638639641641643644645645647647649650652652654654656657660661661662665666668668674675681683684689690690690692692693694696697697697699699699701701701702703703704705705705707708710710713713714714715716718718719720720721721722722723724725726727728729732732732735735736736737738739740741744744744745745747749750753755755756756757758759760761761761762764764764767767768771771772775776777777778781781782782783786788788788790791791792793793793794794795795797797797798798800800800800803805805806807808809809809810810810811811813814814818819820821824826827827829830832833834834835835838839840840842842845846846846847849851851851852853854856856856857859861861862863864864865865867867871872872873874875876876877878878880881881881883883884884885886886889892892893893894895895896896898899899901901903905908910911911914915915915916918918918919922924924925925927927927928928928930931932933935936940941941943943943944944945947948949950950951951952952954954955956956957957957958958958960965965965967968974976976977977978978980981982982982983989989989990990994995995995997998999999
复制代码


真正结果:

  1. 众数:1525/n
  2. 平均数: 498/n
  3. 中位数:498/n
复制代码


点评

用时:0.05 s = =!  发表于 2012-5-22 22:39
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复 支持 反对

使用道具 举报

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

3
发表于 2012-5-22 22:58:03 | 只看该作者
假设数在G5:G11
平均数 =average(g5:g11)
众数=LARGE(IF(COUNTIF(G5:G11,G5:G11)=MAX(COUNTIF(G5:G11,G5:G11)),G5:G11,0),2)
中位数=MEDIAN(G5:G11)
方差=SUM((G5:G11-AVERAGE(G5:G11))^2)/COUNT(G5:G11)
极差=max(g5:g11)-min(g5:g11)
其中 众数和方差的公式,请按CTRL+回车结束,其他的,直接回车结束就可以了
并且G5:g11的范围可根据你表中,数据所在范围改写。
http://zhidao.baidu.com/question/351902016.html

点评

好简单,我会用了= =....  发表于 2012-5-26 01:53
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复 支持 反对

使用道具 举报

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

4
发表于 2012-5-22 23:01:08 | 只看该作者
  1.   hash = {}
  2.   a.each{|n|hash[n] = hash[n].to_i + 1}
  3.   a.each{|n|sum+=n.to_i}
复制代码
我敢写成

  1. hash = a.group_by{|i| i}
  2. hash.keys.each {|k| hash[k] = hash[k].length }
  3. sum = a.inject &:+
复制代码
need Ruby 1.9+ (RPG Maker VX Ace)

点评

xie te ! i used RMXP!  发表于 2012-5-22 23:24
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复 支持 反对

使用道具 举报

梦石
0
星屑
3874
在线时间
2260 小时
注册时间
2008-1-28
帖子
3193

开拓者

5
发表于 2012-5-22 23:46:19 | 只看该作者
- -学校教的貌似就是楼主写的那样。。。。数字扔进数组然后开始算- -你可以考虑参加acm啊。。。那个是专门弄算法的。

点评

o- -,but I am not a collage student yet!  发表于 2012-5-25 21:18
国际大学生程序设计竞赛- -  发表于 2012-5-24 17:14
ACM是什么?  发表于 2012-5-23 21:53
中小学不是 NOIP 么  发表于 2012-5-23 06:28
[pmshow=23,31925]阿柏蛇[/pmshow]
回复 支持 反对

使用道具 举报

梦石
0
星屑
45
在线时间
282 小时
注册时间
2012-2-18
帖子
161
6
发表于 2012-5-23 08:42:16 | 只看该作者
楼主啊,这个怎么应用到游戏中呢?貌似很厉害

点评

没用= =,方便赶作业= =!  发表于 2012-5-23 21:54
真实的我不是这样子的~@
回复 支持 反对

使用道具 举报

梦石
0
星屑
47
在线时间
175 小时
注册时间
2012-1-10
帖子
889
7
发表于 2012-5-24 19:02:48 | 只看该作者
看不懂- -
决心要开一个坑
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=2300169753&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:2300169753:51" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>
回复 支持 反对

使用道具 举报

梦石
0
星屑
690
在线时间
791 小时
注册时间
2011-10-20
帖子
2394

开拓者

8
 楼主| 发表于 2012-5-25 21:19:25 | 只看该作者
真空包装 发表于 2012-5-24 19:02
看不懂- -

aaaaaaaa= =!
welcome
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险ARPG赢回你的疆域新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复 支持 反对

使用道具 举报

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 13:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表