判断一个数是不是回文数

本文介绍了一个简单的C++程序,用于判断输入的整数是否为回文数。通过定义一个函数来翻转输入的整数并与原数进行比较,从而实现了回文数的判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序代码如下:

#include<iostream>
using namespace std;
 
int overturn(int num)  //求出你输出的数的倒序数,如:123,返回的倒序是:321
{
	int num_over = 0;  //倒序数的初值设置为0
	while(num > 0)     //循环的终止条件是num<=0
	{
	    num_over = num_over * 10 + num % 10;  // 不断地取原数的余数,反向排列
	    num = num / 10; //扔掉原数的最后一位,也是为了下一步取下一位余数
	}
	return num_over;
} 
 
int main()
{
    int num;
    cout<<"\nInpout your num:  ";
    cin>>num;
     
    if(overturn(num) == num)
      cout<<"是回文数"<<endl;
    else
      cout<<"不是回文数"<<endl;
    system("pause"); 
}

### 使用 `StringBuilder` 实现回文数检查 在 Java 中,可以通过使用 `StringBuilder` 的 `reverse()` 方法轻松实现回文数的检测。这种方法不仅简洁而且易于理解。 ```java public class PalindromeChecker { public static boolean isPalindrome(int number) { String original = Integer.toString(number); StringBuilder sb = new StringBuilder(original); String reversed = sb.reverse().toString(); return original.equals(reversed); } public static void main(String[] args) { int testNumber = 12321; if (isPalindrome(testNumber)) { System.out.println(testNumber + " 是一个回文数"); } else { System.out.println(testNumber + " 不是一个回文数"); } } } ``` 上述代码展示了如何利用 `StringBuilder` 来反转整并将其转换成字符串以便于比较[^1]。 ### 字逐位翻转法 另一种常见的做法是不依赖额外的据结构,而是通过对给定字逐位取余和除以10的方式构建反向字来进行对比: ```java package z; public class zz { public static void main(String[] args) { int x = 121; int temp = x; int num = 0; while (x != 0) { int ge = x % 10; x /= 10; num = num * 10 + ge; } if (num == temp) { System.out.println(temp + " 是一个回文数"); } else { System.out.println(temp + " 不是一个回文数"); } } } ``` 这段代码实现了基本逻辑:先保存原始值,在循环体内不断提取最后一位加入到新形成的逆序中去,直到原被完全处理完毕后再做最终判定[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值