修仙家族模拟器(:3▒▒▒▏【晚安玛卡巴卡】如下:
设置两个整形数组并全部赋值为0,一个储存灵石数量,一个储存增加的灵石数量,且数字分单个存储如仓库有100灵石其储存形式为1,0,0
获得灵石时,将两数组储存的数字按位相加,如52355+999:
000052355
000000999
对数组每个位置单独相加,得到
0,0,0,0,5,2,12,14,14
从个位往回if循环,如果大于等于10就减10且上位加一
第一次:
0,0,0,0,5,2,12,15,4
第二次:
0,0,0,0,5,2,13,5,4
……(略)
结果:0,0,0,0,5,3,3,5,4
输出为53354,这样就可以算出来52355+999=53354
减法同理,只不过判定改为负的话就找上位取1。
是不是觉得我这样子算灰常多此一举?NONONO,我们要知道计算机存储数字的大小是有上限的,一般是21亿多……咦?是不是跟我们的灵石上限——21.5亿灰常像?
没错咋们灵石上限是二十一点五亿是有原因的,因为计算机就只能存这么大,我的意思是,如果按照上面的法子存储的话,是可以突破这个上限的,当然这个时候有人就要说了:诶你个老登,上面什么数组的我看不懂哇,而且我看着跟这个上限有毛线关系!
咳咳,字数关系咱不多解释,因为我是想写给沧溟看的,呐,法子我都写出来了,还不快快加进去,因为受灵石上限困扰的道友估计不少吧,快快增加灵石上限!(尖叫!!!)
另外上面的法子只是粗略想了一下,考虑到时间复杂度以及灵石的增加可能会很频繁,可以使用链式表的方式存储数值,结构体内可以增加一些判定啥的,困得头晕乎乎的不想思考了,下课!
(快增加灵石上限呜呜呜呜啊啊蛙蛙阴暗的爬行啊啊啊呜呜呜呜呜啊啊啊困上天啊啊啊啊倒头就睡啊啊啊穿越家族当种猪啊啊啊啊似了)
以上就是修仙家族模拟器(:3▒▒▒▏【晚安玛卡巴卡】相关内容。