今天碰到一個(gè)問(wèn)題,就是將一個(gè) >10 且 <100的數(shù)字的個(gè)位和十位對(duì)調(diào),首先想到并采用的方法是,分解出兩個(gè)數(shù)字對(duì)調(diào)并加起來(lái):
/*ab 是源數(shù), ba 是結(jié)果數(shù)*/ 解:ba = ( ab - (ab/10) ) * 10 + (ab/10)
突然有個(gè)很古怪的想法,用減法可不可以呢?觀察后,發(fā)覺源數(shù)和結(jié)果數(shù)兩個(gè)相加后,得出個(gè)回環(huán)數(shù)。。。那么用減法同樣可以實(shí)現(xiàn)。。。
如:求35對(duì)調(diào)后的數(shù) 53 = (5+3)*10 + (5+3) - 35 = 88 -35
如:求47對(duì)調(diào)后的數(shù) 74 = (7+4)*10 + (7+4) - 47 = 121 -47
... ...
至此,總結(jié)出一條公式:
ba = ( (ab/10) + (ab-(ab/10)*10) ) * 10 + ( (ab/10) + (ab-(ab/10)*10) ) - ab
當(dāng)然,該公式只能在計(jì)算機(jī)上用,在數(shù)學(xué)上是不成立的。。。 雖然是麻煩點(diǎn),不過(guò)總算是一種新的逆向方法,目前還沒發(fā)現(xiàn)有任何實(shí)用價(jià)值,當(dāng)作是開發(fā)過(guò)程中的一個(gè)創(chuàng)意罷,呵呵,也許這種思想將來(lái)有一天在某些情況下適用吧。。。 這使我聯(lián)想到企業(yè)進(jìn)銷存系統(tǒng)中,實(shí)際運(yùn)作思維和我們軟件開發(fā)者的思維有很多是相反的,例
A、一般軟件開發(fā)者思維求銷售額:把每一筆已產(chǎn)生的銷量乘以銷價(jià)得出銷售額,進(jìn)而計(jì)算出毛利率 B、而實(shí)際運(yùn)作思維求銷售額:把每一筆銷量乘以成本單價(jià)再除以(1-預(yù)定毛利率),得出銷售額
可以看出,A方法雖然最準(zhǔn)確,但是有很大缺陷,就是沒有預(yù)見性和決策性;而B方法則不同,雖然在最后結(jié)算會(huì)有點(diǎn)點(diǎn)誤差,但能提供很大的可預(yù)見性和決策性,可以很方便算出未來(lái)的銷售額。其實(shí),在實(shí)際中,方法A是完全錯(cuò)誤的,因?yàn)殚_發(fā)者把毛利率和銷價(jià)的關(guān)系弄反了,商品的毛利率不是由銷價(jià)來(lái)決定,而是銷價(jià)由毛利率來(lái)決定。商品銷售價(jià)格是怎么制定的,商家要怎么樣才能得出某商品的銷售價(jià)格呢?可不是胡亂制定哦,通常采用的方法是:銷售價(jià)格 = 商品的成本單價(jià) / (1 - 欲達(dá)到的毛利率),同樣的,銷售額 = 商品的成本 / (1 - 欲達(dá)到的毛利率),因?yàn)閷?duì)于商家來(lái)說(shuō),某商品要達(dá)到怎么樣的毛利率是已知的。 想起當(dāng)初剛接觸這個(gè)B方法時(shí),恍然大悟的感覺,不禁慨嘆確實(shí)是很酷的一種方法。。。當(dāng)然了,數(shù)據(jù)庫(kù)系統(tǒng)還是得用方法A來(lái)實(shí)現(xiàn)的,才能保證實(shí)際的準(zhǔn)確數(shù)據(jù)和準(zhǔn)確統(tǒng)計(jì),現(xiàn)實(shí)和系統(tǒng)實(shí)現(xiàn)多少都有些差別。。。 業(yè)務(wù)知識(shí)和開發(fā)技術(shù)都需要我們開發(fā)者去學(xué)習(xí),是比較累,但感覺是,在業(yè)務(wù)知識(shí)的學(xué)習(xí)和熟悉中往往能帶給我們開發(fā)者很多有意思的創(chuàng)意,做出來(lái)的程序更能迎合客戶的應(yīng)用,呵呵 工作了一夜,確實(shí)累,不停打哈欠中。。。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!