//生成0-99之間隨機(jī)數(shù)
我們提供的服務(wù)有:網(wǎng)站制作、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、萊蕪ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的萊蕪網(wǎng)站制作公司
var?random?=?Math.random();
random?=?Math.round(random*100);
//比較輸入值與隨機(jī)數(shù)
function?compare(){
var?result?=?$("#result").val();
if(result==""){//沒(méi)有輸入任何值
?alert("來(lái)猜一個(gè)吧");
}else?if(isNaN(result)){//輸入非法值
?alert("只能猜數(shù)字哦");
}else?if(parseInt(result)random){
?alert("你猜的數(shù)太大了");
}else?if(parseInt(result)random){
?alert("你猜的數(shù)太小了");
}else{//猜對(duì)之后重新生成隨機(jī)數(shù)
?random?=?Math.random();
random?=?Math.round(random*100);
?alert("恭喜你猜對(duì)了");
}
}
二進(jìn)制編碼的十進(jìn)制數(shù),簡(jiǎn)稱BCD碼(Binarycoded Decimal). 這種方法是用4位二進(jìn)制碼的組合代表十進(jìn)制數(shù)的0,1,2,3,4,5,6 ,7,8,9 十個(gè)數(shù)符。4位二進(jìn)制數(shù)碼有16種組合,原則上可任選其中的10種作為代碼,分別代表十進(jìn)制中的0,1,2,3,4,5,6,7,8,9 這十個(gè)數(shù)符。最常用的BCD碼稱為8421BCD碼,8.4.2.1 分別是4位二進(jìn)數(shù)的位取值。 點(diǎn)擊此處將給出十進(jìn)制數(shù)和8421BCD編碼的對(duì)應(yīng)關(guān)系表。
1、BCD碼與十進(jìn)制數(shù)的轉(zhuǎn)換
BCD碼與十進(jìn)制數(shù)的轉(zhuǎn)換.關(guān)系直觀,相互轉(zhuǎn)換也很簡(jiǎn)單,將十進(jìn)制數(shù)75.4轉(zhuǎn)換為BCD碼如:
75.4=(0111 (0101.0100)BCD 若將BCD碼1000 0101.0101轉(zhuǎn)換為十進(jìn)制數(shù)如: (1000 0101.0101)BCD=85.5
注意:同一個(gè)8位二進(jìn)制代碼表示的數(shù),當(dāng)認(rèn)為它表示的是二進(jìn)制數(shù)和認(rèn)為它表示的是二進(jìn)制編碼的十進(jìn)制數(shù)時(shí),數(shù)值是不相同的。
例如:00011000,當(dāng)把它視為二進(jìn)制數(shù)時(shí),其值為24;但作為2位BCD碼時(shí), 其值為18。
又例如00011100,如將其視為二進(jìn)制數(shù),其值為28,但不能當(dāng)成BCD碼,因?yàn)樵?421BCD碼中,它是個(gè)非法編碼 .
2、BCD碼的格式
計(jì)算機(jī)中的BCD碼,經(jīng)常使用的有兩種格式,即分離BCD碼,組合BCD碼。
所謂分離BCD碼,即用一個(gè)字節(jié)的低四位編碼表示十進(jìn)制數(shù)的一位,例如數(shù)82的存放格式為:
_ _ _1 0 0 0 _ _ _ _0 0 1 0 其中_表示無(wú)關(guān)值。
組合BCD碼,是將兩位十進(jìn)制數(shù),存放在一個(gè)字節(jié)中,例82的存放格式是1000 0010
3、BCD碼的加減運(yùn)算
由于編碼是將每個(gè)十進(jìn)制數(shù)用一組4位二進(jìn)制數(shù)來(lái)表示,因此,若將這種BCD碼直接交計(jì)算機(jī)去運(yùn)算,由于
計(jì)算機(jī)總是把數(shù)當(dāng)作二進(jìn)制數(shù)來(lái)運(yùn)算,所以結(jié)果可能會(huì)出錯(cuò)。例:用BCD碼求38+49。
解決的辦法是對(duì)二進(jìn)制加法運(yùn)算的結(jié)果采用"加6修正,這種修正稱為BCD調(diào)整。即將二進(jìn)制加法運(yùn)算的結(jié)果修正為BCD碼加法運(yùn)算的結(jié)果,兩個(gè)兩位BCD數(shù)相加時(shí),對(duì)二進(jìn)制加法運(yùn)算結(jié)果采用修正規(guī)則進(jìn)行修正。修正規(guī)則:
(1)如果任何兩個(gè)對(duì)應(yīng)位BCD數(shù)相加的結(jié)果向高一位無(wú)進(jìn)位,若得到的結(jié)果小于或等于9,則該不需修正;若得到的結(jié)果大于9且小于16時(shí),該位進(jìn)行加6修正。
(2)如果任何兩個(gè)對(duì)應(yīng)位BCD數(shù)相加的結(jié)果向高一位有進(jìn)位時(shí)(即結(jié)果大于或等于16),該位進(jìn)行加6修正.
(3)低位修正結(jié)果使高位大于9時(shí),高位進(jìn)行加6修正。
下面通過(guò)例題驗(yàn)證上述規(guī)則的正確性。
用BCD碼求35+21 BCD碼求25+37 用BCD碼求38+49 用BCD碼求42+95
用BCD碼求91+83 用BCD碼求94+7 用BCD碼求76+45
兩個(gè)組合BCD碼進(jìn)行減法運(yùn)算時(shí),當(dāng)?shù)臀幌蚋呶挥薪栉粫r(shí),由于"借一作十六"與"借一作十"的差別,將比正確的結(jié)果多6,所以有借位時(shí),可采用"減6修正法"來(lái)修正.兩個(gè)BCD碼進(jìn)行加減時(shí),先按二進(jìn)制加減指令進(jìn)行運(yùn)算,再對(duì)結(jié)果用BCD調(diào)整指令進(jìn)行調(diào)整,就可得到正確的十進(jìn)制運(yùn)算結(jié)果。 實(shí)際上,計(jì)算機(jī)中既有組合BCD數(shù)的調(diào)整指令,也有分離BCD數(shù)的調(diào)整指令。另外,BCD碼的加減運(yùn)算,也可以在運(yùn)算前由程序先變換成二進(jìn)制數(shù),然后由計(jì)算機(jī)對(duì)二進(jìn)制數(shù)運(yùn)算處理,運(yùn)算以后再將二進(jìn)制數(shù)結(jié)果由程序轉(zhuǎn)換為BCD碼
這個(gè)應(yīng)該還是比較詳細(xì)滴
打印出所有的 "水仙花數(shù) ",所謂 "水仙花數(shù) "是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù) 本身。
例如:153是一個(gè) "水仙花數(shù) ",因?yàn)?53=1的三次方+5的三次方+3的三次方。
首先,他是一個(gè)三位數(shù),那么他的取值范圍就是100~999。
那么。這個(gè)數(shù) 個(gè)十百位 每一位的數(shù)字的取值范圍都有了。百位是1-9。十位個(gè)位都是0-9。
其次。每一位數(shù)字的立方 的和 要等于它本身。
那么就有了1 *100 + 5 * 10 +3 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 153。
用三重for循環(huán)可以計(jì)算出每一個(gè)百位數(shù)。然后 添加 if “其各位數(shù)字立方和等于該數(shù)本身”這個(gè)條件。就計(jì)算出滿足條件的數(shù)了。
結(jié)果如下
1.
for(var i=1000;i=9999;i++){
if(i%13==0){
var n2 = Math.floor(i/10)%10;
var n3 = Math.floor(i/100)%10;
var n4 = Math.floor(i/1000);
if(n2+n3==n4)
console.log("滿足條件的數(shù)為:"+i);
}
}
2.
var sum = 0, start = 1, end=0, n=1;
while(start 500) {
for(n = start; sum 1000; n++) {
sum += n;
if(sum == 1000) {
end=n;
console.log("連續(xù)相加為1000的連續(xù)正整數(shù)為:"+start+"到"+end);
}
}
start++;
sum = 0;
}