零点看书

字:
关灯 护眼
零点看书 > 编程之战 > 第一百六一章 编写196算法

第一百六一章 编写196算法

第一百六一章 编写196算法 (第1/1页)

那么就开始编写吧!
  
  杨成调出编辑器面板。
  
  Firstly,心中谨记规则——先翻转,再相加。
  
  所以,一个对正整数作翻转的函数是必须的。
  
  因为,结果是要得到回文数。
  
  所以嘛,一个判断正整数是否是回文数的函数也是必须的。
  
  这些都是小case,杨成很快就搞定了。
  
  然后,开始切入正题,怎么编写196算法呢?
  
  接收一个正整数,对它做翻转。
  
  和原数相加,得到和。
  
  如果这个和是回文数,那么就OK,返回结果,终止算法。
  
  如果不是回文数,将和继续翻转,相加。
  
  Continue....
  
  这个过程很简单,反复迭代。
  
  关键在于考虑“利克瑞尔数”。
  
  如果超过了一定的时间或范围,应该及时中断。
  
  否则,就会陷入可怕的死循环。
  
  杨成的处理是这样:
  
  一旦当前运算会丢失精度,就返回-1。
  
  很多语言如果不使用大数计算库,一定数值范围外运算会丢失精度。
  
  这样确保了小数值范围内求解,不会出现死循环。
  
  通过以上几个步骤,简易版的196算法就成型了!
『加入书签,方便阅读』
热门推荐
极品全能学生 凌天战尊 御用兵王 帝霸 开局奖励一亿条命 大融合系统 冷情帝少,轻轻亲 妖龙古帝 宠妃难为:皇上,娘娘今晚不侍寝 仙王的日常生活