4塊砝碼的重量(下)

之前我們做了這樣一道題:


一位商人有一個40磅的砝碼,由於跌落在地而碎成4塊。後來,稱得每塊碎片的重量都是整磅數,而且可以用這4塊來稱從1至40磅之間的任意整數磅的重物。


問:這4塊砝碼碎片各重多少?


我們求出來是1、3、9、27,並且用編程做了驗證。

4塊砝碼的重量(下)

最後,我們還得出這樣一個結論:


如果只用+和-,那麼三進制對應的數字:


111以內可以用1、10、100的組合表示。

1111以內可以用1、10、100、1000的組合表示。

11111以內可以用1、10、100、1000、10000……


這個結論有些人可能不太明白。


現在,我用十進制說一遍好了:


已知:

1=3的0次方;

3=3的1次方;

9=3的2次方;

27=3的3次方;

81=3的4次方;

243=3的5次方;

……


如果,用1、3、9、27可以表示40以內的任一數字。

40=(3的4次方-1)÷2


那麼,用1、3、9、27、81可以表示121以內的任一數字。

121=(3的5次方-1)÷2


那麼,用1、3、9、27、81、243可以表示364以內的任一數字。

364=(3的6次方-1)÷2


這個東西還可以一直推下去,一直到3的n次方。


OK,今天的最後,我們用編程的方法驗證一下。


因為121=11²,正好在計算機上可以畫一個正方形對應它。


所以我們驗證一下③好了。


(1)當我們什麼都不輸入時:

4塊砝碼的重量(下)

(2)當我輸入1、3、9、27、81時:

4塊砝碼的重量(下)

(3)為了驗證,我們可以把1、3、9、27、81改成別的看一下。


當改成1、4、8、28、80時:

4塊砝碼的重量(下)

當改成1、3、10、27、80時:

4塊砝碼的重量(下)

(4)大家完了可以自己複製代碼試一下,代碼在後面。


我們還可以輸入1、3、9、27,前40全部會變紅,這也印證了之前的結論。

4塊砝碼的重量(下)

(5)最後給大家放上代碼。


(新建一個文本文檔,複製下面的代碼,然後保存退出,把文件名後綴改成.html,用瀏覽器打開,就可以執行程序了)



輸入數字:


<button>確定/<button>





function p(a,b,c,d,e){


var br=document.createElement("br");

document.body.appendChild(br);


var i=1;

while(i<122)

{

var btn=document.createElement("BUTTON");

btn.id=i;

btn.style.height ="40px";

btn.style.width ="40px";

var t=document.createTextNode(i++);

btn.appendChild(t);

document.body.appendChild(btn);


if((i-1)%11==0)

{

var br=document.createElement("br");

document.body.appendChild(br);

}

}


for(x1=-1;x1<2;x1++){

for(x2=-1;x2<2;x2++){

for(x3=-1;x3<2;x3++){

for(x4=-1;x4<2;x4++){

for(x5=-1;x5<2;x5++){


var k=x1*a+x2*b+x3*c+x4*d+x5*e;


if(k>0)

{

var str = document.getElementById(k);

str.style.background="red";

}

}

}

}

}

}

}



分享到:


相關文章: