国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbscript的骨灰級寫法計算1到100的和

2020-07-26 11:49:33
字體:
供稿:網(wǎng)友
這篇日志完全是看了一篇日志后的啟發(fā),原文為:邪惡的eval和new Function。

很少使用new Array的方式來定義數(shù)組,沒想到new Array有這么一個妙用,通過new Array(n)我們可以創(chuàng)建n個空元素,同時也就在n個元素中間存在n-1個空白,通過join,我們可以將一些東西放在這些空白中間從而組成我們需要的特殊串,這不禁啟發(fā)了我的靈感,這個特點可以使我不通過循環(huán)就可以很容易的實現(xiàn)一個“有規(guī)律元素的連續(xù)運算”。比如計算1-100的數(shù)值的和。以往我們需要從1循環(huán)到100然后求和,但利用數(shù)組的這個特性我們可以通過簡單的一行代碼搞定,代碼如下:
復(fù)制代碼 代碼如下:

var i=0,sum=eval('0'+new Array(101).join('+(++i)'));

此外可以做很多類似的數(shù)學(xué)運算,比如以下幾個
復(fù)制代碼 代碼如下:

eval('0'+new Array(11).join('+Math.pow(++i,2)')) //計算1-10的平方和
eval('0'+new Array(100/2).join('+(i+=2)')) //計算2+4+6+...100的和

這些我們以往都通過循環(huán)進(jìn)行的計算,現(xiàn)在都可以一行代碼巧妙搞定,不得不嘆服編程語言隱含的靈巧,編程的世界總有太多的東西等待我們?nèi)グl(fā)現(xiàn)。

把上面的JavaScript代碼改成VBS,就是VBS練習(xí)題所謂的骨灰級解法:

復(fù)制代碼 代碼如下:

Dim a(101)
Execute(Join(a,"s=s+i:i=i+1:"))
MsgBox s


原文:http://demon.tw/programming/no-loop-calculate-1-100-sum.html
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 晋城| 永兴县| 延安市| 广西| 晋城| 南和县| 广元市| 云南省| 南汇区| 花垣县| 来凤县| 冕宁县| 永康市| 禄劝| 赤水市| 九江市| 邢台县| 潜江市| 郎溪县| 合水县| 扎赉特旗| 温宿县| 镶黄旗| 原阳县| 清新县| 阿尔山市| 牙克石市| 中阳县| 南阳市| 新巴尔虎右旗| 福海县| 邵阳县| 汤阴县| 宜兰市| 尤溪县| 石柱| 龙岩市| 阿鲁科尔沁旗| 翁源县| 灵山县| 南昌县|