21xrx.com
2024-12-22 21:05:42 Sunday
登录
文章检索 我的文章 写文章
C++编写回文数判断函数
2023-07-05 22:16:15 深夜i     --     --
C++ 回文数 判断函数

在计算机编程中,回文数判断是一道经典问题。回文数是指从左到右和从右到左读取数字都是相同的数,比如121、1221、12321等。在这篇文章中,我们将介绍如何使用C++编写一个回文数判断函数。

回文数的判断可以通过将数字转换为字符串来完成,但这种方法较为繁琐,浪费时间和空间。因此,我们将介绍一种更为高效的方法来判断回文数——借助数字的计算方法。

首先,我们需要将数字分成两部分。如果数字是偶数,则将其分成两个相等的部分,如1234分成12和34;如果数字是奇数,则将其分成中心数字和两个相等的部分,如12345分成12和345。接着,将后一个部分进行反转操作,得到一个新数字。最后,比较这两个数字是否相等即可。

下面是具体的代码实现:

bool isPalindrome(int x) {

  // 非负整数一定不是回文数

  if (x < 0)

    return false;

  // 数字转换成字符串,再判断是否回文

  // 这种方法不是最优解,但是比较容易理解

  string str = to_string(x);

  int len = str.length();

  for (int i = 0; i < len / 2; i++) {

    if (str[i] != str[len - i - 1])

      return false;

  }

  return true;

}

int main() {

  int num;

  cout << "请输入一个整数:";

  cin >> num;

  if (isPalindrome(num))

    cout << num << "是回文数" << endl;

   else

    cout << num << "不是回文数" << endl;

  return 0;

}

以上代码中,我们首先判断输入的数字是否小于0,如果是则不是回文数。然后通过将数字转换成字符串来判断是否为回文数,当然这种方法不是最优解。最后输出结果,判断是否为回文数。

以上就是本文介绍的使用C++编写回文数判断函数的方法,希望对读者有帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复