题目链接:http://poj.org/problem?id=1001&lang=zh-CN&change=true
当初做完A+B后,兴高采烈地做第二题就被虐了。纠结了一个小时后,含恨退出poj了。
现在过了几个月了,在来挑战。
有大数加法的基础做这个还是挺轻松的,基本方向有了。唯一的障碍是小数点。这个怎么处理让当初我的纠结的痛不欲生。其实,这个小数点不用管都可以了,直接忽略就可以。
看看这个例子。
555^2 = 308025
55.5^2 = 3080.25
5.55^2 = 30.8025
0.555^2 = 0.308025
发现了什么规律吧。如果我们不管小数点,这些结果是308025,考虑小数点的话,只是在某个位置上插入小数点罢了。而这个插入的位置恰恰是有规律的。
一位小数*一位小数=两位小数,当然,后面是0的话我们也算进来。
两位*两位 = 四位
三位*三位 = 六位。
…….
小数位数相同的相乘,得到的结果的小数位数等于原来小数位数的2倍。
上面是小数位数相同的情况,考虑一下不相同的情况。
55.5 * 5.55 = 308.025
5.55 * 0.555 = 3.08025
看一下就知道了,上面相同的情况是*2,这个就是相加了。
1位*2位 = 3位
2为*3位 &#