如果给一个15位数字最新最好的方式找到下一个回文? [英] if given a 15 digit number whats the best way to find the next palindrome?

查看:125
本文介绍了如果给一个15位数字最新最好的方式找到下一个回文?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在C ++中这将是最快的逻辑来找到一个给定的15位数字回文旁边?例如,这将是下一个回文:134567329807541

in c++ what will be the fastest logic to find next palindrome of a given 15 digit number? for example what will be the next palindrome of: 134567329807541 ?

推荐答案

  • 分割数为三个部分,中期

1345673 2 9807541

1345673 2 9807541

逆向,并将其与  3765431

Reverse head and compare it to tail 3765431

如果反向(头)LT =尾部(如果他们是平等的初始输入是一个回文,并且希望下一个)

If reverse(head) <= tail ( if they are equal the initial input is a palindrome, and you want the next )

  • 如果中期&LT; 9 ,年年递增
  • 否则增量部分,并设置中期:= 0
  • If mid < 9, increment mid
  • Else increment head part and set mid := 0

结果:= 头反向中期(头)

1345673 3反向(1345673)=> 134567333765431

1345673 3 reverse(1345673) => 134567333765431

这篇关于如果给一个15位数字最新最好的方式找到下一个回文?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆