2009年10月21日 #
2009年8月23日 #
2009年5月30日 #
2009年4月20日 #
2009年4月12日 #
2009年3月3日 #
2009年2月21日 #
2009年1月30日 #
2009年1月19日 #
2009年1月13日 #
閱讀全文
2008年12月28日 #
2008年12月27日 #
2008年11月30日 #
閱讀全文
2008年11月16日 #
2008年11月14日 #
在完成了分層之后,軟件架構其實已經清晰化了。 閱讀全文
2008年10月29日 #
2008年10月26日 #
2008年10月18日 #
閱讀全文
1. 給定一個 N ,求出N!末尾有多少個零,比如 N=10,N!=3628800,N!末尾有兩個零。
2. 求N!的二進制表示中最低為1的位置,比如 11010010, 最低為1的位置為2。
問題一解法:
在上一個 blog 中介紹的子數組乘積最大值的問題中,有朋友考慮到溢出的問題,在這個問題中,我們從那些數相乘能得到10這個命題開始思考。比如N!=K×10m那么N!后面就有m個零。這個問題轉化為將N!進行分解,如N!=2a×3b×5c 很顯然 10=2×5,那么零的個數m=min(a,c), 一個數能夠被2整除的機率比5要大很多因此 m=c,因此轉化為求 c的問題,具體算法如:
閱讀全文
2008年10月17日 #
寫出算法的時間復雜度。 閱讀全文
2008年10月16日 #
例如:
N=2,寫下1,2。這樣只出現了1個"1"
N=12,寫下 1,2,3,4,5,6,7,8,9,10,11,12。這樣"1"的個數是5
請寫出一個函數,返回1到N之間出現"1"的個數,比如 f(12)=5 閱讀全文
2008年10月15日 #
2008年10月12日 #
希望以上最佳實踐能對你有用,希望能幫助你從新的角度審視你的系統,無論其規模如何。
閱讀全文