首页 > 试题广场 >

回文数

[编程题]回文数
  • 热度指数:801 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
定义回文数为正着反着读都是一样的数字。输入一个整数,判断这个数字是否是回文数。

输入描述:
输入为一行。 一个整数n,范围在32位int范围内


输出描述:
如果n为回文数则输出1,否则输出0
示例1

输入

123321

输出

1
#include<string>
#include<iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
bool judge(string x){
    string tmp=x;
    reverse(x.begin(),x.end());
    return tmp==x;
}
int main(){
    string x;
    while(cin>>x) printf("%d\n",judge(x)?1:0);
}

发表于 2017-11-09 11:10:46 回复(0)
czd头像 czd

import java.util.Scanner;

public class
Main{
public static void main(String[] args) { char[] a; Scanner sc = new Scanner(System.in); String str = sc.nextLine(); a = str.toCharArray(); System.out.println(isHuiWenShu(a)); } private static int isHuiWenShu(char[] a) { int r = a.length - 1; for (int l = 0; l < a.length >> 1; l++) { if (a[l] != a[r--]) { return 0; } } return 1; } }


发表于 2018-11-13 23:32:20 回复(0)
str = input()
if str[::-1]==str:
    print(1)
else:
    print(0)

发表于 2018-10-07 19:24:31 回复(0)
#include <stdio.h>

int main() {
int n,jilu,wei,zoshu=0;
scanf("%d",&n);
jilu=n;
while(n)
{
    wei=n%10;
   zoshu=zoshu*10+wei;
   n=n/10;
}
   if(zoshu==jilu)
   printf("1");
   else printf("0");
    return 0;
}
发表于 2023-03-19 07:09:37 回复(0)
#include <iostream>
using namespace std;
int main()
{
    int in = 0;
    cin >> in;
    int t = in;
    int n = 0;
    while(t){
        n=n*10+t%10;
        t/=10;
    }
    if(n==in){
        cout<<1<<endl;
    }
    else{
        cout<<0<<endl;
    }
    return 0;
}

发表于 2021-01-07 15:20:08 回复(0)
#include<iostream>
#include<string>
using namespace std;
int main()
{
    int x;
    while(cin>>x)
    {
        string s=to_string(x);
        int len=s.size();
        int pbegin=0;
        int pend=len-1;
        while(pbegin<pend)
        {
            if(s[pbegin]==s[pend])
            {
                pbegin++;
                pend--;
            }
            else
            {
                break;
            }                
        }
        if(pbegin<pend)
             cout<<0<<endl;
        else
             cout<<1<<endl;        
    }
}

发表于 2019-07-16 16:44:19 回复(0)
import java.util.Scanner;
import java.util.Stack;

public class Main {    
        public static int ispalindromel(char[] a){
            Stack<Character> stack = new Stack<Character>();
            for(int i=0;i<a.length;i++){
                stack.push(a[i]);
            }
            for(int i=0;i<a.length;i++) {
                if(a[i]!=stack.pop()) {
                    return 0;
                }
            }
            return 1;
        }
        public static void main(String[] args){
            char[] a;
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine();
            a = str.toCharArray();
            System.out.println(ispalindromel(a));
        }
}
发表于 2018-08-06 20:58:03 回复(0)
链接:https://www.nowcoder.com/questionTerminal/3173aa2a4da644b69f14b2fc9b277ce7
来源:牛客网
#include<string>
#include<iostream>
#include<algorithm>
#include<stdio.h>
usingnamespacestd;
booljudge(string x){
   string tmp=x;
   reverse(x.begin(),x.end());
   returntmp==x;
}
intmain(){
   string x;
   while(cin>>x)printf("%d\n",judge(x)?1:0);
}
发表于 2018-07-09 20:29:41 回复(0)
#include <iostream>
using namespace std;
int main()
{
    int x;
    while(cin >> x){
        int tmp = x;
        int num = 0;
        while(tmp){
            num = num * 10 + tmp %10;
            tmp /= 10;
        }
        if(num == x)
            cout << 1 <<endl;
        else
            cout << 0 <<endl;
    }
}

发表于 2018-06-06 22:22:16 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int num = s.nextInt();

        boolean flag = true;
        int help = 1;
        while(num / help >= 10){
            help = help * 10;
        }

        while(num > 0){
            if(num / help != num % 10){
                flag = false;
                break;
            }
            num = (num % help) / 10;
            help = help / 100;
        }

        if(flag == true){
            System.out.println("1");
        }else{
            System.out.println("0");
        }
    }
}
发表于 2018-05-10 09:45:03 回复(0)
import java.util.*;
public class Main {
    public static boolean isPalindrome(int num) {
        if (num < 0 || (num != 0 && num % 10 == 0) ) {
            return false;
        }
        int partOne = num;
        int partTwo = 0;
        while(partTwo < partOne) {
            partTwo = partTwo * 10 + partOne % 10;
            partOne = partOne / 10;
        }
        return (partOne == partTwo) || (partOne == partTwo / 10);
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int res = isPalindrome(sc.nextInt()) == true ? 1 : 0;
        System.out.println(res);
    }
}

发表于 2018-01-22 16:21:50 回复(0)
import java.util.Scanner;

public class Main {

    public static boolean isPalindromic1(int number) {
        char[] chars = String.valueOf(number).toCharArray();
        for(int i = 0; i < chars.length / 2 ;++i) {
            if(chars[i] != chars[chars.length - i - 1])
                return false;
        }
        return true;
    }
    
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        System.out.println( isPalindromic(scanner.nextInt()) ? 1 : 0);

    }
}

发表于 2018-01-19 22:00:20 回复(0)
wa2头像 wa2
#include<iostream>
#include<cstring>
using namespace std;
bool is(const char*a,int n){
    return n<2?true:a[0]==a[n-1]&&is(a+1,n-2);
}
int main(){
    char a[12]="";
    cin>>a;
    cout<<(is(a,strlen(a))?1:0)<<endl;
}

发表于 2017-09-13 20:22:59 回复(0)