循環(huán)查詢之前給個(gè)變量,循環(huán)累加,判斷是否能被2整除
創(chuàng)新互聯(lián)秉承實(shí)現(xiàn)全網(wǎng)價(jià)值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都做網(wǎng)站、網(wǎng)站建設(shè),微信小程序定制開發(fā),網(wǎng)頁設(shè)計(jì)制作,手機(jī)網(wǎng)站制作設(shè)計(jì),全網(wǎng)營銷推廣幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長。
如$i=0;
while(){
$i++;
if($i mod 2){
//應(yīng)用樣式1的處理
}
else{
//應(yīng)用樣式2的處理
}
}
首先第一句話:雖然我不知到這兩個(gè)數(shù)是什麼,但我知道你一定也不知道。 從這句話說明孫手里拿到的兩個(gè)數(shù)肯定都不是素?cái)?shù)(什么是素?cái)?shù)?就是除了1和它本身以外不再有其他因數(shù)的自然數(shù)),不然的話,孫通過知道龐的和就可以唯一判斷出這兩個(gè)數(shù)字了
推理一:比如A=a+b,B=a*b;B=15,A=8,那么很容易就猜想到了a=3,b=5 (因?yàn)閷?5進(jìn)行拆分只有一種可能),所以對龐的第一句話產(chǎn)生了矛盾;那么a,b兩個(gè)數(shù)可能是一個(gè)奇數(shù),一個(gè)偶數(shù);另外有位大神認(rèn)為任意大于4的偶數(shù)都能被拆成兩個(gè)奇質(zhì)數(shù)之和,但由于兩個(gè)質(zhì)數(shù)都要小于99,所以龐手上的數(shù)可能為偶數(shù),但這個(gè)偶數(shù)會(huì)接近200(有182,184,188,190,192,196和198),除此之外,只可能是奇數(shù);舉例:如果龐涓手上是28,可以拆成11+17,當(dāng)孫臏拿到了187這個(gè)積,馬上就可以猜出鬼谷子給他的兩個(gè)數(shù)是11和17,與龐涓肯定孫臏不知道這兩個(gè)數(shù)相矛盾,因此有可能拆成兩個(gè)2-99的質(zhì)數(shù)和的數(shù)都要排除因此有可能拆成兩個(gè)2-99的質(zhì)數(shù)和的數(shù)都要排除
推理二:龐的和數(shù)一定不是大于55的數(shù)。因?yàn)榇笥?3的數(shù)始終能夠拆成質(zhì)數(shù)53和另一個(gè)大于2的數(shù),在2-99的限制下,這兩個(gè)數(shù)的乘積只有這唯一一種拆分方法。舉例:如果龐手上的和數(shù)是57,可以拆成53+4,當(dāng)孫臏拿到212這個(gè)積,只有4*53這一種拆分可能性,因?yàn)?*106的另一種拆分方法導(dǎo)致有一個(gè)數(shù)超過99。由此排除55以上的所有所有數(shù)因此最后滿足以上條件的這樣的數(shù)字僅有11個(gè):11,17,23,27,29,35,37,41,47,51,53。
第二句話:本來我不知道,現(xiàn)在知道了;這說明孫看了自己手上的積后,分解因式對應(yīng)的所有拆分情況中有且僅有一種,兩個(gè)因數(shù)的和是以上11個(gè)數(shù)中的一個(gè)。
第三句話:那我也知道了;由于龐涓并不知道兩數(shù)積,所以只能從以上表格出發(fā)確定,最后得到兩個(gè)數(shù)字分別是4和13
也許上面的解析并不通俗易懂,其中涉及到很多數(shù)學(xué)知識(shí)和推理能力,如果感興趣可以基于上述講解自行進(jìn)行推導(dǎo);其實(shí)這道題的本質(zhì)是基于每次的問題進(jìn)行排除,盡可能的縮小范圍,最后得到結(jié)果;那么最后通過SQL的方式來解決這類問題,或許通過sql(基于HQL)的方式可以幫助讀者更加清晰理解
oracle中用mod
如:
select?mod(4,2)?from?dual;?--?結(jié)果為0是偶數(shù)
select?mod(3,2)?from?dual;?--?結(jié)果為1是奇數(shù)
sqlserver直接用%
如:
select?4%2?--?結(jié)果為0是偶數(shù)
select?3%2?--?結(jié)果為1是奇數(shù)
mysql同oracle
如:
select?mod(4,2)?--?結(jié)果為0是偶數(shù)
select?mod(3,2)?--?結(jié)果為1是奇數(shù)
對于整型,其二進(jìn)制值最低位要么是0要么是1
是0就是偶數(shù),是1就是奇數(shù)
而一個(gè)整數(shù)與0x01,除最低位外,其他位都置0
所以這個(gè)操作是取最低位值的
最低位為1,結(jié)果為真,代表奇數(shù)
奇數(shù)行:=SUMPRODUCT((MOD(ROW(1:10),2)=1)*(A1:A10="a"))
偶數(shù)行:?=SUMPRODUCT((MOD(ROW(1:10),2)=0)*(A1:A10="a"))
這里只按10行做了例子,具體根據(jù)你的實(shí)際需要調(diào)整