摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1271仿照别人写的,此代码看了良久,最终仍然不敢说大彻大悟,数学方法用的太绝了。大致思想为:首先假设X的第k位拿走,然后加上去掉第k位后的X',其和正好等于N。这样的话 我们可以把X 分解成:X= a+b * 10^k +c * 10^( k+1 ); 这里特别强调一下, a代表的是比第k位后面的低位数子,可能是多位,b仅仅代表一个数值,即你选择拿开的那位数,c代表的是比k位高的高位数字,例如:12345 您想拿走3的话 这时候a=45,c=12,b=3; 然后拿走之后就会组合成另一个数:X' 阅读全文
posted @ 2012-04-14 16:43 南柯南 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 一看此题,顿觉茫然,搜得思路,方知原来可以这样。最是累完了,错一点,就得那个望眼欲穿的改哇!首先须知:小数有 有限和无限之分,其中无限小数中,又分无限循环和无限不循环小数,能用分数表示的当然只有有限小数和无限循环小数。有限小数就简单了,无论多少只要小数点后面的 除以 10的n次方就行了,约分一下就完事了。对于无限循环小数分两种,这里举例说明:⑴ 把0.4747……化成分数。0.4747……×100=47.4747…… 0.4747……×100-0.4747……=47.4747……-0.4747…… 注:因为是无限小数,所以小数点后趋向于无穷远处的 相减极限为零了 (100- 阅读全文
posted @ 2012-04-14 16:43 南柯南 阅读(236) 评论(0) 推荐(0) 编辑