前段时间一直在刷杭电11版,刷完之后就利用这几天把step chapter two section three做完了
2.3.1 A + B Problem II 很简单的大数运算
2.3.2 Exponentiation 巨蛋疼的一道题!!
字符串处理 +大数
我的思路如下:
1.process,由于输入的字符串较变态,所以要先预处理一下,把所有串都变成().()的形式,无前导0后缀0
2.fetch,提取出用于大数计算的有效值,同时记下小数后位数nd,如 0.023 ——> 23 nd = 3
3.multiply 大数运算,可以是大数乘小数
4.insert,输出并插入小数点,小数点在倒数第(nd * 幂expon)位前。
(我的思路有了但没实现好,最后实在没耐心了又想做后边题就copyA了,很惭愧!!以后会找机会补上的!!)
2.3.3Big Number 斯特林公式 +lg10取位数
nd = 1 + (int)((0.5 * log(2 * PI * n) + n * log(n) - n) / log(10));
2.3.4 Hat's Fibonacci fibonacci公式 +大数
2.3.5
How Many Trees? catalan数 + 大数
2.3.6 Buy the Ticket catalan数
总排列数减去错误的排列数
C(m+n,m) - C(m+n,m+1)
2.3.7 catalan数 +大数
2.3.8 下沙的沙子有几粒? 递推
这章做了有不少catalan数的题目,总结一些经验如下
1.类出栈次序问题
2.划分问题 f(n)=f(1)*f(n-1)+f(2)*f(n-2)+……+f(n-1)*f(1)