今天天气太凉快,跟这个日历上属于夏天的那一页显得格格不入!就连我我床下那台废弃的ThinkPad,居然也十分透凉气,那外壳连我的体温高都没有,于是,我就开始想一个方法,让我那个废弃的电脑发热,顺便用它提出一个我认为有必要出现的概念。一个统计学上的概念,----->  让人理解一个概率分布的真正在现实中的表现。

首先,你肯定听说过智商吧!以坊间流传的标准,智商的分布如下图所示

但我一直觉得这图对普通大众,对学生,甚至对任何人都不友好!

为什么怎么说呢?

你知道智商的分布理论上是这个样子,你也知道这或许就是智商数据的最真实的感受了,但你总是感觉缺点什么。首先智商吸引力da吗?虽然智商这个东西在医学界基本是一种玄学状态,但在民间,智商一直可是很有吸引力的!因为 人人都希望自己聪明,也都想知道自己的智商在人群中是什么样的一种地位,虽然人都耳如目睹那个140智商的人在人群中1/100,可是即使知道这些,还是难以想象一堆人里,这140是怎么分布的。

就像身高一样!!!

于是我就想模拟一大群人,把各自的智商写下来,然后收集起来集中展示,这样就能看到在一大群人中,智商就是是怎么分布的。

我们已有数据,然后就是求比例。

因为是正态分布,很好求的,在Excel里一代,就出来了。我模拟的是一万人里每个智商的人的数目。

解读:左边是智商分数,右边是对应的人数,比如左边的76,右边是81,那就说明智商76的在一万人里理论上有81位。

我们可以发现,根据理论,一万人里智商最高的是156,最低的是44 (我™才167的智商居然还数不到!),,,那么就该写程序了。好在我敲代码一向很谨慎,所以就选了一个语言不那么讲究的js脚本来运行程序提高成功率和效率,当然也是因为我的破电脑里什么环境都没搭建。

JS好啊,有浏览器就能写程序,而且还贼正儿八经!!!

代码如下

  1. <script>
  2. var thelenght = 10000;
  3. var temp = new Array();
  4. function thecs(){
  5. //临时的,赋值
  6.  
  7. //0
  8. for (var i =0,k=44;i<1;i++)
  9. {
  10. temp.push(k);
  11. }
  12. for (var i =0,k=45;i<1;i++)
  13. {
  14. temp.push(k);
  15. }
  16. for (var i =0,k=46;i<1;i++)
  17. {
  18. temp.push(k);
  19. }
  20. for (var i =0,k=47;i<1;i++)
  21. {
  22. temp.push(k);
  23. }
  24. for (var i =0,k=48;i<1;i++)
  25. {
  26. temp.push(k);
  27. }
  28.  
  29. for (var i =0,k=49;i<2;i++)
  30. {
  31. temp.push(k);
  32. }
  33. for (var i =0,k=50;i<2;i++)
  34. {
  35. temp.push(k);
  36. }
  37. for (var i =0,k=51;i<2;i++)
  38. {
  39. temp.push(k);
  40. }
  41. for (var i =0,k=52;i<3;i++)
  42. {
  43. temp.push(k);
  44. }
  45. for (var i =0,k=53;i<3;i++)
  46. {
  47. temp.push(k);
  48. }
  49. //10
  50. for (var i =0,k=54;i<4;i++)
  51. {
  52. temp.push(k);
  53. }
  54. for (var i =0,k=55;i<5;i++)
  55. {
  56. temp.push(k);
  57. }
  58. for (var i =0,k=56;i<6;i++)
  59. {
  60. temp.push(k);
  61. }
  62. for (var i =0,k=57;i<7;i++)
  63. {
  64. temp.push(k);
  65. }
  66. for (var i =0,k=58;i<8;i++)
  67. {
  68. temp.push(k);
  69. }
  70.  
  71. for (var i =0,k=59;i<9;i++)
  72. {
  73. temp.push(k);
  74. }
  75. for (var i =0,k=60;i<11;i++)
  76. {
  77. temp.push(k);
  78. }
  79. for (var i =0,k=61;i<13;i++)
  80. {
  81. temp.push(k);
  82. }
  83. for (var i =0,k=62;i<15;i++)
  84. {
  85. temp.push(k);
  86. }
  87. for (var i =0,k=63;i<17;i++)
  88. {
  89. temp.push(k);
  90. }
  91. ///////////////////////////////////////////////////////////////////
  92. //20
  93.  
  94. for (var i =0,k=64;i<20;i++)
  95. {
  96. temp.push(k);
  97. }
  98. for (var i =0,k=65;i<23;i++)
  99. {
  100. temp.push(k);
  101. }
  102. for (var i =0,k=66;i<26;i++)
  103. {
  104. temp.push(k);
  105. }
  106. for (var i =0,k=67;i<30;i++)
  107. {
  108. temp.push(k);
  109. }
  110. for (var i =0,k=68;i<34;i++)
  111. {
  112. temp.push(k);
  113. }
  114.  
  115. for (var i =0,k=69;i<38;i++)
  116. {
  117. temp.push(k);
  118. }
  119. for (var i =0,k=70;i<43;i++)
  120. {
  121. temp.push(k);
  122. }
  123. for (var i =0,k=71;i<48;i++)
  124. {
  125. temp.push(k);
  126. }
  127. for (var i =0,k=72;i<54;i++)
  128. {
  129. temp.push(k);
  130. }
  131. for (var i =0,k=73;i<60;i++)
  132. {
  133. temp.push(k);
  134. }
  135. ///////////////////////////////////////////////////////////////////
  136. //30
  137. for (var i =0,k=74;i<67;i++)
  138. {
  139. temp.push(k);
  140. }
  141. for (var i =0,k=75;i<74;i++)
  142. {
  143. temp.push(k);
  144. }
  145. for (var i =0,k=76;i<81;i++)
  146. {
  147. temp.push(k);
  148. }
  149. for (var i =0,k=77;i<89;i++)
  150. {
  151. temp.push(k);
  152. }
  153. for (var i =0,k=78;i<97;i++)
  154. {
  155. temp.push(k);
  156. }
  157.  
  158. for (var i =0,k=79;i<105;i++)
  159. {
  160. temp.push(k);
  161. }
  162. for (var i =0,k=80;i<114;i++)
  163. {
  164. temp.push(k);
  165. }
  166. for (var i =0,k=81;i<123;i++)
  167. {
  168. temp.push(k);
  169. }
  170. for (var i =0,k=82;i<132;i++)
  171. {
  172. temp.push(k);
  173. }
  174. for (var i =0,k=83;i<142;i++)
  175. {
  176. temp.push(k);
  177. }
  178. ///////////////////////////////////////////////////////////////////
  179. //40
  180. for (var i =0,k=84;i<151;i++)
  181. {
  182. temp.push(k);
  183. }
  184. for (var i =0,k=85;i<161;i++)
  185. {
  186. temp.push(k);
  187. }
  188. for (var i =0,k=86;i<170;i++)
  189. {
  190. temp.push(k);
  191. }
  192. for (var i =0,k=87;i<179;i++)
  193. {
  194. temp.push(k);
  195. }
  196. for (var i =0,k=88;i<188;i++)
  197. {
  198. temp.push(k);
  199. }
  200.  
  201. for (var i =0,k=89;i<197;i++)
  202. {
  203. temp.push(k);
  204. }
  205. for (var i =0,k=90;i<205;i++)
  206. {
  207. temp.push(k);
  208. }
  209. for (var i =0,k=91;i<213;i++)
  210. {
  211. temp.push(k);
  212. }
  213. for (var i =0,k=92;i<220;i++)
  214. {
  215. temp.push(k);
  216. }
  217. for (var i =0,k=93;i<227;i++)
  218. {
  219. temp.push(k);
  220. }
  221. ///////////////////////////////////////////////////////////////////
  222. //50
  223. for (var i =0,k=94;i<232;i++)
  224. {
  225. temp.push(k);
  226. }
  227. for (var i =0,k=95;i<237;i++)
  228. {
  229. temp.push(k);
  230. }
  231. for (var i =0,k=96;i<242;i++)
  232. {
  233. temp.push(k);
  234. }
  235. for (var i =0,k=97;i<245;i++)
  236. {
  237. temp.push(k);
  238. }
  239. for (var i =0,k=98;i<247;i++)
  240. {
  241. temp.push(k);
  242. }
  243.  
  244. for (var i =0,k=99;i<249;i++)
  245. {
  246. temp.push(k);
  247. }
  248. for (var i =0,k=100;i<249;i++)
  249. {
  250. temp.push(k);
  251. }
  252. for (var i =0,k=101;i<249;i++)
  253. {
  254. temp.push(k);
  255. }
  256. for (var i =0,k=102;i<247;i++)
  257. {
  258. temp.push(k);
  259. }
  260. for (var i =0,k=103;i<245;i++)
  261. {
  262. temp.push(k);
  263. }
  264. ///////////////////////////////////////////////////////////////////
  265. //60
  266. for (var i =0,k=104;i<242;i++)
  267. {
  268. temp.push(k);
  269. }
  270. for (var i =0,k=105;i<237;i++)
  271. {
  272. temp.push(k);
  273. }
  274. for (var i =0,k=106;i<232;i++)
  275. {
  276. temp.push(k);
  277. }
  278. for (var i =0,k=107;i<227;i++)
  279. {
  280. temp.push(k);
  281. }
  282. for (var i =0,k=108;i<220;i++)
  283. {
  284. temp.push(k);
  285. }
  286.  
  287. for (var i =0,k=109;i<213;i++)
  288. {
  289. temp.push(k);
  290. }
  291. for (var i =0,k=110;i<205;i++)
  292. {
  293. temp.push(k);
  294. }
  295. for (var i =0,k=111;i<197;i++)
  296. {
  297. temp.push(k);
  298. }
  299. for (var i =0,k=112;i<188;i++)
  300. {
  301. temp.push(k);
  302. }
  303. for (var i =0,k=113;i<179;i++)
  304. {
  305. temp.push(k);
  306. }
  307. ///////////////////////////////////////////////////////////////////
  308. //70
  309. for (var i =0,k=114;i<170;i++)
  310. {
  311. temp.push(k);
  312. }
  313. for (var i =0,k=115;i<161;i++)
  314. {
  315. temp.push(k);
  316. }
  317. for (var i =0,k=116;i<151;i++)
  318. {
  319. temp.push(k);
  320. }
  321. for (var i =0,k=117;i<142;i++)
  322. {
  323. temp.push(k);
  324. }
  325. for (var i =0,k=118;i<132;i++)
  326. {
  327. temp.push(k);
  328. }
  329.  
  330. for (var i =0,k=119;i<123;i++)
  331. {
  332. temp.push(k);
  333. }
  334. for (var i =0,k=120;i<114;i++)
  335. {
  336. temp.push(k);
  337. }
  338. for (var i =0,k=121;i<105;i++)
  339. {
  340. temp.push(k);
  341. }
  342. for (var i =0,k=122;i<97;i++)
  343. {
  344. temp.push(k);
  345. }
  346. for (var i =0,k=123;i<89;i++)
  347. {
  348. temp.push(k);
  349. }
  350. ///////////////////////////////////////////////////////////////////
  351. //80
  352. for (var i =0,k=124;i<81;i++)
  353. {
  354. temp.push(k);
  355. }
  356. for (var i =0,k=125;i<74;i++)
  357. {
  358. temp.push(k);
  359. }
  360. for (var i =0,k=126;i<67;i++)
  361. {
  362. temp.push(k);
  363. }
  364. for (var i =0,k=127;i<60;i++)
  365. {
  366. temp.push(k);
  367. }
  368. for (var i =0,k=128;i<54;i++)
  369. {
  370. temp.push(k);
  371. }
  372.  
  373. for (var i =0,k=129;i<48;i++)
  374. {
  375. temp.push(k);
  376. }
  377. for (var i =0,k=130;i<43;i++)
  378. {
  379. temp.push(k);
  380. }
  381. for (var i =0,k=131;i<38;i++)
  382. {
  383. temp.push(k);
  384. }
  385. for (var i =0,k=132;i<34;i++)
  386. {
  387. temp.push(k);
  388. }
  389. for (var i =0,k=133;i<30;i++)
  390. {
  391. temp.push(k);
  392. }
  393. ///////////////////////////////////////////////////////////////////
  394. //90
  395. for (var i =0,k=134;i<26;i++)
  396. {
  397. temp.push(k);
  398. }
  399. for (var i =0,k=135;i<23;i++)
  400. {
  401. temp.push(k);
  402. }
  403. for (var i =0,k=136;i<20;i++)
  404. {
  405. temp.push(k);
  406. }
  407. for (var i =0,k=137;i<17;i++)
  408. {
  409. temp.push(k);
  410. }
  411. for (var i =0,k=138;i<15;i++)
  412. {
  413. temp.push(k);
  414. }
  415.  
  416. for (var i =0,k=139;i<13;i++)
  417. {
  418. temp.push(k);
  419. }
  420. for (var i =0,k=140;i<11;i++)
  421. {
  422. temp.push(k);
  423. }
  424. for (var i =0,k=141;i<9;i++)
  425. {
  426. temp.push(k);
  427. }
  428. for (var i =0,k=142;i<8;i++)
  429. {
  430. temp.push(k);
  431. }
  432. for (var i =0,k=143;i<7;i++)
  433. {
  434. temp.push(k);
  435. }
  436. ///////////////////////////////////////////////////////////////////
  437. //100
  438. for (var i =0,k=144;i<6;i++)
  439. {
  440. temp.push(k);
  441. }
  442. for (var i =0,k=145;i<5;i++)
  443. {
  444. temp.push(k);
  445. }
  446. for (var i =0,k=146;i<4;i++)
  447. {
  448. temp.push(k);
  449. }
  450. for (var i =0,k=147;i<3;i++)
  451. {
  452. temp.push(k);
  453. }
  454. for (var i =0,k=148;i<3;i++)
  455. {
  456. temp.push(k);
  457. }
  458.  
  459. for (var i =0,k=149;i<2;i++)
  460. {
  461. temp.push(k);
  462. }
  463. for (var i =0,k=150;i<2;i++)
  464. {
  465. temp.push(k);
  466. }
  467. for (var i =0,k=151;i<2;i++)
  468. {
  469. temp.push(k);
  470. }
  471. for (var i =0,k=152;i<1;i++)
  472. {
  473. temp.push(k);
  474. }
  475. for (var i =0,k=153;i<1;i++)
  476. {
  477. temp.push(k);
  478. }
  479. ///////////////////////////////////////////////////////////////////
  480. //110
  481. for (var i =0,k=154;i<1;i++)
  482. {
  483. temp.push(k);
  484. }
  485. for (var i =0,k=155;i<1;i++)
  486. {
  487. temp.push(k);
  488. }
  489. for (var i =0,k=156;i<1;i++)
  490. {
  491. temp.push(k);
  492. }
  493.  
  494. sjpl(temp);
  495.  
  496. }
  497.  
  498. function sjpl(thearray)
  499. {
  500.  
  501. //随机排列
  502. for (var i =0;i<thelenght;i++)
  503. {
  504. var k=Math.floor(Math.random()*thelenght);
  505. var k2=Math.floor(Math.random()*thelenght);
  506.  
  507. while(k==k2)
  508. {
  509. k2=Math.floor(Math.random()*thelenght);
  510. }
  511.  
  512. var linshi=thearray[k];
  513. thearray[k]=thearray[k2];
  514. thearray[k2]=linshi;
  515.  
  516. }
  517.  
  518. for (var i =0;i<thelenght;i++)
  519. {
  520. if((i+1)%40==0){
  521.  
  522. document.getElementById("logs").innerHTML+=(thearray[i] + "<br>第"+((i+1)/40 +1)+"行");
  523. }else
  524. {
  525. document.getElementById("logs").innerHTML+=(thearray[i] + "&nbsp");
  526. }
  527.  
  528. }
  529.  
  530. }
  531.  
  532. </script>
  533. <body onload="thecs()">
  534. <div id="logs"></div>
  535.  
  536. </body>

  

中间那么长的for赋值军队是我用宏录制写的,一分钟就完成了,怎么操作就不解释了,玩计算机的基础知识!

然后这个程序没有太多研究优化算法,就一个简单的随机排列和扔箱子理论,所以运行起来相当耗电,耗C,GPU!

当然我的目的是让电脑发热

浏览器,总共用了42秒计算完毕,估计计算量有几百万至正无穷吧!

下面是结果

想象一下前面有一万人的智商,都是从普通大街上组队无选择随机测的,,,或者你就想象前面是北京西客站,今天是农历年腊月二十五,你有一个特异功能,就是看不见人只能看见智商

那么如果没有毛病,你看到的是这个

*

每个数字代表一个人

(为什么不用颜色来区分呢?因为颜色的分度很小,况且我们九年义务教育出来的谁不对数字过敏呢?)

用 IQ分布模拟图来测试浏览器的性能的更多相关文章

  1. 测试浏览器最多能包含Cookie的个数和Cookie中包含的最多内容

    public class CookieTestServlet extends HttpServlet { public void doGet(HttpServletRequest request, H ...

  2. Modernizr 测试浏览器是否兼容相应属性

    Modernizr  测试浏览器是否兼容相应属性

  3. 模拟post请求-->测试api是否可用-->再交给ios开发

    提交给iso开发前.先模拟post提交,测试返回是否正确 =============post.php文件 ios每次最少要提交5个数据, 加密串 seqno , 请求验证码 source, 设备唯一标 ...

  4. 用clumsy模拟丢包测试socket库的失败重传

    用python的socket库写了通信小程序,现在我需要通过软件模拟出在网络极差的情况下,socket底层解决丢包问题的能力怎么样,我一开始想的是分别在linux和windowns下分别测试,后来一想 ...

  5. charles_02_模拟弱网测试

    前言 用户使用app的场景是多变的,不一定稳定在WiFi或者4G网络下.大多数用户会在地铁.电梯等弱网情况下使用app,这些弱网情况下app常会出现一些数据丢失.闪退.页面展示不友好等情况.在测试过程 ...

  6. 【操作教程】利用YCSB测试巨杉数据库性能

    一.前言 巨杉数据库(SequoiaDB)是国内第一款新一代文档型分布式数据库,巨杉数据库由巨杉软件完全自主研发,拥有完全自主知识产权,不基于任何其它的开源项目.SequoiaDB数据库是为分布式存储 ...

  7. 查看SQL语句执行时间与测试SQL语句性能

    查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了 ...

  8. Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化

    文章目录 大访问量优化整体思路 ab压力测试及nginx性能统计模块 ab压力测试及nginx性能统计模块 ab压力测试 nginx性能统计模块 nginx单机1w并发优化 整装待发: socket ...

  9. 四大浏览器JavaScript性能/硬件加速测试

    四大浏览器JavaScript性能/硬件加速测试 出处:快科技 2010-09-19 10:52:59    人气: 27925 次   作者:萧萧 编辑:萧萧[爆料]  评论(42)  收藏文章 新 ...

随机推荐

  1. MySQL索引 专题

    什么是索引 索引是存储引擎用于快速找到记录的一种数据结构,索引类似一本书的目录,我们可以快速的根据目录查找到我们想要的内容的所在页码,索引的优化应该是对查询性能优化最有效的手段了. 因此,首先你要明白 ...

  2. python中对文件、文件夹的操作

    python中对文件.文件夹的操作需要涉及到os模块和shutil模块. 创建文件: 1) os.mknod("test.txt")       创建空文件 2) open(&qu ...

  3. ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新建项目(Windows) 对于任何语言和框架,都 ...

  4. HDU - 4734 F(x) (2013成都网络游戏,数字DP)

    意甲冠军:求0-B见面<=F[A]所有可能的 思维:数字DP,内存搜索 #include <iostream> #include <cstring> #include & ...

  5. WPF后台动画DoubleAnimation讲解

    WPF后台动画,使用DoubleAnimation做的. 1.移动动画 需要参数(目标点离最上边的位置,目标点离最左边的位置,元素名称) Image mImage = new Image(); Flo ...

  6. React路由配置

    React路由简单配置 //入口文件index.js import React from 'react'; import ReactDom from 'react-dom'; import { Rou ...

  7. 在Keystone V3基础上改进的分布式认证体系

    目标 使用java实现keystone v3相关功能与概念: api client authentication service discovery distributed multi-tenant ...

  8. Layui 2.0.0 正式发布:潜心之作,开箱即用的前端UI框架(确实很多内容)

    Hi,久违了.处暑逼近之际,潜水半年的 layui 是时候出来透透气了.我们带来的是全新的 2.0 版本,一次被我们定义为“破茧重生”的倾情之作.如果你已曾用过 layui,你将真正感受到一次因小而大 ...

  9. WPF DataGrid自动生成列

    <Window x:Class="DataGridExam.MainWindow"        xmlns="http://schemas.microsoft.c ...

  10. inno setup 打包说明

     [Setup] 这个段包含用于安装程序和卸载程序的全局设置 AppId:在注册表中唯一的项名称,安装完64位系统在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\M ...