驗證不等式!
在沙盒中至少保留3天。我要驗證是否存在此不相等正確:for\$n\geq4\$,如果\$a\\u 1、a\\u 2、a\\u 3、\dots、a\\n\in R\\u+\cup\{0\}和\$\sum\{i=1}^na\\u i=1\
解答動態(tài)
APL(Dyalog Unicode),21字節(jié)SBCS (+/?×1°?)?←(?÷+/)???0 在高爾夫球場上試一試!
A tradfn submission打印列表并返回總和。
??0?創(chuàng)建輸入多個0的向量??對于每個0,得到一個介于0和1之間的隨機數(shù)?÷?將每個數(shù)除以所有數(shù)之和?←?打印結(jié)果向量?×?將向量元素按1°??乘以向左旋轉(zhuǎn)的向量1+/?取所有產(chǎn)品的總和1如果將總和添加到列表可以作為輸出,這可能是20個字節(jié):x,+/x×1?x←(?÷+/)???0
R,49 45 bytes a=rexp(scan());a=a/sum(a);a;a%*%c(a[-1],a[1]) 在線試用!
-4 bytes by Robin Ryder
JavaScript(ES6),89 88 bytes 返回[array,sum]。
f=(n,a=[],t=s=0)=gt;(s+=v/t*(v=k),v/t)),s/t] 在線試用!
Commented f=(//f是一個遞歸函數(shù),取:n,//n=input a=[],//a[]=array t=//t=non-normalized value之和s=0//s=a[i]*a[(i+1)mod n]/t)=gt;//s+=//添加到s:v/t//上一個規(guī)范化值v/t,*(v=k),//乘以k(并將v更新為k)v/t//生成規(guī)范化值)//),//map()s/t的結(jié)尾//還返回規(guī)范化的和]//答案數(shù)組的結(jié)尾Julia,46 bytes n-gt;a[2:end]'*a[1:end-1]在線試用!
返回數(shù)組=>;sum
Wolfram Language(Mathematica),42字節(jié) {###2,#}&;@@#。#
#amp;@真實[1,#]]& 在線試用!
木炭,25 bytes fn?ν?φ≥/∑ννν?ν∑eν×ι§ν⊕κi?ν 在線試用!像05AB1E答案一樣,我生成n個介于0和999之間的隨機數(shù),然后縮放它們,使它們的和為1。以一到兩個字節(jié)為代價可以獲得更大的范圍。另外,還不清楚是否必須先求和;最后打印將節(jié)省兩個字節(jié)。前任夷平面:
FN 重復(fù)n次…
?ν?φ 。。。將一個隨機整數(shù)推到預(yù)定義的空列表中。
≥∕ν∑ν 將該列表除以其和。
?ν∑eν×ι§ν⊕κ 將每個元素與其相鄰元素相乘,然后將和推到該列表中。
i?ν 以相反的順序打印列表,使和位于第一位。
MathGolf,11 bytes ??λ]∑/??m*∑ 輸出數(shù)組并將和和連接到一個數(shù)組中另一個.
在線試用.
Ex夷平面:
?#循環(huán)(隱式)輸入次數(shù),#使用單個字符作為內(nèi)部代碼塊:?#推送范圍[0,1]]內(nèi)的隨機浮點值#將堆棧上的所有值包裝到一個列表#復(fù)制此列表∑取其和/#將列表中的所有值除以此和#(因此我們現(xiàn)在有一個隨機值列表,求和為1)?#將此列表復(fù)制三次╫#將頂部副本向左旋轉(zhuǎn)一次m*#將頂部兩個列表按位置相乘∑#取該列表的和#(之后連接在一起的整個堆棧隱式輸出)Python 3+numpy,75 bytes 來自numpy import*def(n):x=隨機.rand(n) ;x/=總和(x);返回x、 x@滾動(x,1)在線試試!
J,30 27 25 bytes -2由于ovs的rotate idea
[:(;1#.]*1.])@(+/)?@$0重復(fù)0quot;次。?@每個(?)?0生成一個介于0和1之間的隨機數(shù))。[:…(%+/)將每個值除以所有值的和。(;1#.]*1
.])添加到該裝箱列表;1#的和。列表]次*列表向左旋轉(zhuǎn)一次1
.]。
Python 3,124 121 bytes 保存了一個字節(jié)多虧了Kevin Cruijssen!。《嗵澚说つ崴,節(jié)省了3個字節(jié)!!
def f(n):l=[random()表示[0]*n]中的i;l=[e/sum(l)表示l中的e];從隨機導(dǎo)入返回l,sum(a*b表示a,b表示zip(l,l[1:]+l))* 聯(lián)機試用!
05AB1E,17 15 14 17 bytes ?Y.rI£DO/Dà*O“ 成對輸出[數(shù)組,求和]。
-2字節(jié)歸功于@Neil。-1字節(jié)通過使用內(nèi)建的封閉/重疊更改兩個顯式打印=?ü*O,類似于我的MathGolf答案,使用pair和隱式printDà*O+2字節(jié),這樣就可以復(fù)制項目,+1字節(jié)可以最大化浮動量2 在線測試(但使用[01000]而不是[09876543210]來加快速度)。
Ex夷平面:
?mY#在[09876543210]范圍內(nèi)推送列表I#重復(fù)輸入次數(shù)#(這樣我們就有可能得到重復(fù)項)。r#隨機洗牌這個列表I#只留下第一個輸入值D#復(fù)制這個列表O#將它們相加/#將所有值除以這個求和#(因此我們現(xiàn)在有一個隨機值的列表求和為1)D#將此列表復(fù)制三次à#將頂部副本向左旋轉(zhuǎn)一次#將頂部兩個列表按位置相乘#將此列表求和#將列表與此和配對#(之后這一對作為結(jié)果隱式輸出)Jelly,18 bytes 沒有內(nèi)置的隨機浮點,所以一半的代碼是這樣的!
2??XHC?)÷S$?1??, 一個接受整數(shù)n的一元鏈接,它生成一個包含非負浮點(乘積之和)的列表和生成的長度為n的非負浮點列表,其總和為1。
請在線嘗試。ㄕ堊⒁,\$256\$)已被9(\$9\$)替換,以提高速度-生成所有\(zhòng)$2^{256}\$位列表需要一段時間。使用256美元這樣大的數(shù)字是沒有必要的,只是簡單明了而已? (上面修復(fù)的錯誤,稍后將更新此部分。)
注意:使用256個隨機位生成\$[0,1]\$.
2??XHC?)μ÷S?1??,-Link:n)-用于每個:2-2?-256?-(256)笛卡爾積(2隱式->;[1,2] )X-隨機選取一個,例如[1,2,2,1。。。,1,2]H-減半[0.5,1,1,0.5。。。,0.5,1]C-補碼[0.5,0,0,0.5。。。,0.5,0] . -半個0.5?-從基(0.5)轉(zhuǎn)換(列表)一個[0,1]μ中的浮點-開始一個新的一元鏈(稱為x)S-和和(x)÷-除歸一化(x)?-最后三個鏈接作為monad:(稱為Y=[y1,y2,…,yn])-一個1?-左旋轉(zhuǎn)(1)[y2,…,yn,y1]?-點積(與Y)y1.y2+y2.y3+…+yn.y1,-對[y1.y2+y2.y3+…+yn.y1,Y]MATL,13 bytes lamp;r%創(chuàng)建一個N x 1的隨機浮點數(shù)組st%復(fù)制此數(shù)組twices%對此數(shù)組的元素求和/%并用此sumtt%對原始數(shù)組按元素進行除%Duplicate規(guī)范化數(shù)組(兩次)lYS%將數(shù)組循環(huán)移位1個元素*%perform按元素與非移位數(shù)組相乘%計算和%隱式顯示規(guī)范化隨機數(shù)組和和
- End
免責(zé)聲明:
本頁內(nèi)容僅代表作者本人意見,若因此產(chǎn)生任何糾紛由作者本人負責(zé),概與琴島網(wǎng)公司無關(guān)。本頁內(nèi)容僅供參考,請您根據(jù)自身實際情況謹慎操作。尤其涉及您或第三方利益等事項,請咨詢專業(yè)人士處理。