有哪些變態的24點演算法?
四個 0,用 (0!+0!+0!+0!)! 的方法得到 24 點簡直弱爆了,程序員一般都這麼玩:
"0"/(("0"+"0")/"0")
C 語言中有效,因為字元 0 的 ASCII 值為 48。
那能不能再給力一點?
@LiTuX 提出了用兩個 0 的方法,當然了,用四個 0 也是可以的啦:
"0"&>&>"0"/"0"+0
不過,這個答案看上去有點取巧,因為最後湊了一個 0。
那能不能再給力一點呢?
好吧,下面的表達式,拿走不謝:
-~-~-~-~-~-~0-~-~-~-~-~-~0-~-~-~-~-~-~0-~-~-~-~-~-~0
2 3 10 10
2^10-10^3=24
題本身有常規解法,只是這個解法有點新穎。我一個高中同學做過 5,5,5,1。是用5*(5-1/5)。印象頗深。
曾經閑著無聊寫過個暴力計算24點的代碼。然後測試了兩個經典的演算法。還有上面說的10 10 4 4
((W")!+(X")!+(Y")!+(Z")!)!=24
##### 2016.01.27 更新 #####
@張樂添 都上 Python 了,竟然還需要 0?來看看我們無中生有 XD:len([{},{},{}]) &<&< len([{},{},{}])
##### 原答案 @2016.01.19 #####
用四個 0 才湊出 24 點的弱爆了!!我只需要兩個 XD:"0"&>&>(!0)
不信試試:
# cat foo.c
int main(void)
{
return "0"&>&>(!0);
}
# ./foo || echo $?
24
多圖,轉一篇喪心病狂花式算!
-~x = x + 1
任何四個數a, b, c, d
(a"! + b"! + c"! + d"!)!
= (0! + 0! + 0! + 0!)!
= (1 + 1 + 1 + 1)!
= 4!
= 24
那個"是求導,常數求導是0,算是偏方吧,不嚴謹,圖一樂- -"
原來聽過一個 四個0讓你算。
有個很巧妙的是 後一天00:00
剛好又是前一天的24:00真正意義上的24點1 7 K K
答案在下面
以前用計算器隨手摁出來的隨機數
也不是太難
其實想找找這種東西就開計算器的隨機數,四個一組隨便拼
「數學24遊戲」據說是由華人孫士傑先生髮明,他在1986年開始構思,而在1988年正式面世於美國,並且迅速風行全美。但早在1979年1月由毛之價、徐方瞿先生整理定稿,由少年兒童出版社出版的《有趣的數學》中的「看誰算得快」也是談論這類24遊戲,其基本原理、構思等,都和孫士傑先生所發明的一樣,而且除了四則運算以外,還可使用乘方、開方甚至對數等運算方法的。 現在的「數學24遊戲」玩法很簡單,由1至10之間的整數中,任意選4個數字(可以重覆),再利用加、減、乘、除四則運算,計算出所指定的答案「24」,因此同一組數字可以有不同的方法(算式)作計算。一般來說,可以利用撲克牌或UNO牌作為抽選數字的工具,當然也可以自制數字卡,那便可以更有特色。 數學24遊戲」流行於世界各地,成為一班朋友聚會時的娛樂。因為它的玩法簡單,即使只得一人也可以自我娛樂一番,在交通擠塞時,單看車牌也可以作為解悶的方法。而這個普遍性當然也為推動數學發揮一定的效用。好了說了這麼多,該不會算的還是不會算,終極24點演算法計算器在此終極24點解決器
當初自己偶然推的一個[2,2,2,6]的
不扯超出四則運算的,來玩玩:
3 3 8 8
5 5 5 110 10 4 4=======
Ans:3 3 8 8:8/(3-8/3)5 5 5 1:5*(5-1/5)
(原理類似)10 10 4 4: (10*10-4)/4(數字太大難想到)=======updating...(11x11-1)/5
(11x13+1)/6拿撲克牌玩的時候我以前比較擅長大數減(除)小數,連加,2X12這種野路子,而我爸總是用38和46,然後每次我都是輸的多贏的少。
不過有時候還是很有用的,比如257K,這個你用3X8和4X6都不那麼容易,但是曲線救國就很簡單了,(5*7+K)/2。同理357K就是(5*K+7)/3,而457K就是(7*K+5)/4。(註:實際上457K是個很簡單的3X8)看到很多神級演算法…我有一個小疑問…是否根號、lg、ln、log這些算使用了一個數字了呢
function lop(j)
{
if(j&>0)
{
var ss = lop(j-1);
var px = "";
var oo = "$1"+j+"$2";
for(var k=0; k&<=j; k++)
{
var re = new RegExp("(\d{"+k+"})(.*?;)","g");
px += ss.replace(re,oo);
}
return px;
}
else
return "0;";
}
var gt = lop(3).slice(0,-1).split(";");
for(var i=0; i& gt[i] = gt[i].split(""); var ot = []; var op = ["+","-","*","/"]; for(var x=0; x&<4; x++) for(var y=0; y&<4; y++) for(var z=0; z&<4; z++) { ot[ot.length] = "( (a"+op[x]+"b)"+op[y]+"c) "+op[z]+"d"; ot[ot.length] = "( a"+op[x]+"(b"+op[y]+"c)) "+op[z]+"d"; ot[ot.length] = "a"+op[x]+"( (b"+op[y]+"c)"+op[z]+"d) "; ot[ot.length] = "a"+op[x]+"( b"+op[y]+"(c"+op[z]+"d)) "; ot[ot.length] = "( a"+op[x]+"b) "+op[y]+"(c"+op[z]+"d)"; } /////////////////////////////////////////////////////////////// var ggcs; function ggcsclass() { this.pjys = 0; this.zq = 0; this.cw = 0; this.hl = 0; this.gx(); } function ggcsclass.prototype.gx() { k_pjys.innerText = this.zq==0?0:Math.round(this.pjys/this.zq*100)/100; k_zq.innerText = this.zq; k_cw.innerText = this.cw; k_hl.innerText = this.hl; } function ggcsclass.prototype.phl() { this.hl++; this.gx(); k_jg.innerText = "此題被忽略!!"; } function ggcsclass.prototype.pcw() { this.cw++; this.gx(); k_jg.innerText = "錯誤!!"; } function ggcsclass.prototype.pzq() { var d = jcsl.endDate(); this.pjys += d/1000; this.zq++; this.gx(); k_jg.innerText = "正確!用時"+Math.round(d/10)/100+"秒!"; } window.onload = function() { ggcs = new ggcsclass(); } /////////////////////////////////////////////////////////////// var jcsl=null; function jclass() { this.xpa = []; this.ssjg = ""; this.wx = 1E-10; this.date = null; } function jclass.prototype.rnd() { for(var ii=0; ii&<4; ii++) this.xpa[ii] = Math.floor(Math.random()*10)+1; } function jclass.prototype.fapai() { for(var ii=0; ii&<4; ii++) document.getElementById("pk"+ii).innerText = this.xpa[ii]; this.date = new Date(); } function jclass.prototype.endDate() { return new Date()-this.date; } function jclass.prototype.jw() { var a,b,c,d; this.ssjg= ""; for(var i=0; i& { a=this.xpa[gt[i][0]]-0; b=this.xpa[gt[i][1]]-0; c=this.xpa[gt[i][2]]-0; d=this.xpa[gt[i][3]]-0; for(var h=0; h& if(Math.abs(eval(ot[h])-24)&<=this.wx) this.jcf(ot[h].replace("a",a).replace("b",b).replace("c",c).replace("d",d)); } } function jclass.prototype.jcf(t) { var str = t; var zz1 = t.replace(/[()]/g,""); var zz2 = t.replace(/[()] /g,""); var zz3 = t.replace(/[()](?! )/g,""); if(Math.abs(eval(zz1)-24)&<=this.wx) str = zz1; else if(Math.abs(eval(zz2)-24)&<=this.wx) str = zz2; else if(Math.abs(eval(zz3)-24)&<=this.wx) str = zz3; var res = str.replace(/ /g,"")+"=24 if(this.ssjg.indexOf(res)==-1) this.ssjg += res; } function jclass.prototype.scda() { sskgxx.innerText = "全部答案: } function jclass.prototype.gx(ss) { var sw1 = ss.match(/(/g), sw2 = ss.match(/)/g); sw1 = (sw1==null)?0:sw1.length; sw2 = (sw2==null)?0:sw2.length; if(sw1!=sw2) return "左右括弧個數不一樣"; if(!/^(*(d+))*[+-*/](*(d+))*[+-*/](*(d+))*[+-*/](*(d+))*$/.test(ss)) return "算術表達式格式不正確"; var str = "#"+RegExp.$1+"|#"+RegExp.$2+"|#"+RegExp.$3+"|#"+RegExp.$4+"|"; for(var ii=0; ii&<4; ii++) { var lok = "#"+this.xpa[ii]+"|"; if(str.indexOf(lok)!=-1) str = str.replace(lok,""); else return "算術表達式中數字不對"; } return "yes"; } ////////////////////////////////////////////////////////////// function fpaaSystem() { if(jcsl!=null) ggcs.phl(); jcsl = new jclass(); do { jcsl.rnd(); jcsl.jw(); } while(jcsl.ssjg==""); k_jg.innerText = ""; sskgxx.innerText = ""; gstext.value = ""; jcsl.fapai(); } function fpaaInput() { var ins = prompt("請輸入四個數字(如: 5,4,7,10)",""); if(ins==null) return; if(!/^d{1,2},d{1,2},d{1,2},d{1,2}$/.test(ins)) { alert("輸入的內容不正確!");return; } var vf = jcsl!=null; jcsl = new jclass(); jcsl.xpa = ins.split(","); jcsl.jw(); if(jcsl.ssjg=="") { alert("此題無解!!!");return; } if(vf) ggcs.phl(); k_jg.innerText = ""; sskgxx.innerText = ""; gstext.value = ""; jcsl.fapai(); } function ckda() { if(jcsl==null) return; ggcs.phl(); jcsl.scda(); jcsl=null; } function okaa() { if(jcsl==null) return; var gs = gstext.value; var str = jcsl.gx(gs); if(str!="yes") { alert("算式錯誤:"+str+"!"); return; } if(Math.abs(eval(gs)-24)&<=jcsl.wx) ggcs.pzq(); else ggcs.pcw(); jcsl.scda(); jcsl=null; } function tocs(n) { if(jcsl==null) return; gstext.value+=jcsl.xpa[n]; }
";
"+this.ssjg;
話不多說,設計汪請點贊,謝謝!
2的10次方減10的3次方等於24
推薦閱讀:
※你和龍之谷有哪些故事?
※09的推推影魔為何那麼叼?!真的是本人錄得么-_-||?
※《魔獸世界》還能再繼續風靡多久?
※劍網三中有哪些文化元素?
※有一個網癮少女做女朋友是什麼體驗?