第三周练习总结

第三周就这么结束了,也不知道是不是题太难,还是自己本身就不会,但是我感觉可能是后者吧。这周的题是关于搜索算法,上学期学了数据结构与算法课程,印象中对搜索算法这方面还是有点熟悉,做练习的时候也翻书看了一点点内容,但是真正自己做练习的时候一点思路也没有,无从下手,似乎我真的不会做呀,怎么半呢?脑海中有一丢丢放弃的念头了,我想放弃又害怕落后,最后还是认真的去查阅了一些关于搜索算法这方面的资料,慢慢AC吧,虽然发现最近自己有点掉头发了,路还是要自己走。练习有两个关于高精度的题,我写一下自己的方法,凑合凑合看吧。

对于超大数字的运算,用long long int仍然不能解决,这时候我们就需要考虑通过模拟运算和数组存储来实现高精度运算。这里我们借助的是string来实现高精度的运算。首先输入的量直接存储为string,分别设为str1和str2,然后接下来需要设计一个反转函数,用于把整个字符串反转。只需要取出string从前到后的每一个字符,每次都在头的前面插入,也就能够得到反序。对于高精度和的运算,我们先要把s1和s2反转,这样从前到后遍历字符串时也就是从低位到高位的顺序,设进位变量为一个值,初始化为0,处理s1和s2的公共部分,从低位开始,每次得到的位和为temp,先加上前面的进位的值,然后计算本位进位temp/10,和本位和数temp%10,把它插入到结果字符串的头部之前,就能得到公共部分的和数,但是对于s1或s2多出的部分,需要单独处理,最后需要注意,如果处理结束后的进位不是0,要进到下一位。

每周都给自己加加油吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值