多位数值,步进,指定值进位算法小结
首先确认需求:
多位数值的初始数;
最右位数值开始加一;
每一位数值达到指定值则向高位进一
解决方案1:
获取初始值,多位(例如:bac可化为213或102.数值则可直接使用)
获取进位标记
开启循环,循环进入条件为:进位标记-1出现的次数!=位数(例如:如果555是最终值,那么5如果出现3次,则证明到达最终值,这样不会再进行循环内的+1操作)
开第二层循环,循环固定次数为,位数-1(每一个次数代表可能产生进位的位数,例如三位数321,则有两位可发生进位)
二层循环内,对当前位(当前位的值由第二层循环变量即可确定。第一次循环就是第一位,第二次循环就是第二位),进行+1操作,操作完成后做判断。如果数值达到进位值,则将该位置零后进行下一次循环(进位操作);如果数值未达到进位值,则说明+1操作完成且最终值合乎要求。
二层循环外,放置对+1之后的值进行需要的操作。操作结束后回到一层循环的进入条件,判断是否达到最终值。
待续