回文数字判断(递归版本)
/// <summary>
/// 判定给定num是否是回文数字
/// </summary>
/// <param name="num">待判断数字</param>
/// <param name="digistsNums">num位数</param>
/// <returns></returns>
public static bool Judge(int num, int digistsNums)
{
// 递归结束条件
if (digistsNums <= 1)
return true;
else
{
// 否则开始判断,分离首位和末尾
int last = num % 10;
int first = num / (int)Math.Pow(10, (digistsNums - 1));
int newNum = (num - last - first * ((int)Math.Pow(10, (digistsNums - 1)))) / 10;
// 如果首位和末尾的值不相等的话 ,返回false
if (last != first)
return false;
else
// 否则开始递归
return Judge(newNum, digistsNums - 2);
}
/// 判定给定num是否是回文数字
/// </summary>
/// <param name="num">待判断数字</param>
/// <param name="digistsNums">num位数</param>
/// <returns></returns>
public static bool Judge(int num, int digistsNums)
{
// 递归结束条件
if (digistsNums <= 1)
return true;
else
{
// 否则开始判断,分离首位和末尾
int last = num % 10;
int first = num / (int)Math.Pow(10, (digistsNums - 1));
int newNum = (num - last - first * ((int)Math.Pow(10, (digistsNums - 1)))) / 10;
// 如果首位和末尾的值不相等的话 ,返回false
if (last != first)
return false;
else
// 否则开始递归
return Judge(newNum, digistsNums - 2);
}
如果您觉得不错,欢迎扫码支持下。
作者:许强1. 本博客中的文章均是个人在学习和项目开发中总结。其中难免存在不足之处 ,欢迎留言指正。 2. 本文版权归作者和博客园共有,转载时,请保留本文链接。