java 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位

java 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位,第1张

按照你的要求编写的判断五位数是不是回文数的Java程序如下

import javautilScanner;

public class HuiWenShu {

 public static void main(String[] args) {

  Systemoutprintln("请输入一个五位正整数");

  Scanner sc=new Scanner(Systemin);

  int number=scnextInt();

  if(number<10000 || number>=100000){

   Systemoutprintln("输入的不是五位正整数!");

   return;

  }

  int a=number/10000;

  int b=number/1000%10;

  int c=number/100%10;

  int d=number/10%10;

  int e=number%10;

  if(a==e && b==d){

   Systemoutprintln(number+"是回文数");

  }else{

   Systemoutprintln(number+"不是回文数");

  }

 }

}

运行结果

请输入一个五位正整数

12321

12321是回文数

"回文数"是一种数字如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数

任意某一个数通过以下方式相加也可得到

如:29+92=121 还有 194+491=685,586+685=1271,1271+1721=2992

不过很多数还没有发现此类特征(比如196,下面会讲到)

另外个别平方数是回文数

1的平方=1

11的平方=121

111的平方=12321

1111的平方=1234321

在程序设计中,我们常常会遇到回文数的判断问题,这就需要我们对回文数有所了解,并能编写回文数函数予以调用。在此我用C语言编写了个回文数函数,其中 N 有读者自己定义,其调用很方便。

回文数函数代码如下:

#include <stdioh>

#include<stringh>

#define N 80

int fun(char str)

{

char a[N],b[N];

int i=0,j=0;

while(str)

a[i++]=str++;

a[i]='\0';

while(i>0)

b[j++]=a[--i];

b[j]='\0';

return (strcmp(a,b)==0);

}

问题补充:

人们迄今未能找到五次方,以及更高次幂的回文数。于是数学家们猜想:不存在nk(k≥5;n、k均是自然数)形式的回文数。

在电子计算器的实践中,还发现了一桩趣事:任何一个自然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进行下去,经过有限次步骤后,最后必定能得到一个回文数。

这也仅仅是个猜想,因为有些数并不“驯服”。比如说196这个数,按照上述变换规则重复了数十万次,仍未得到回文数。但是人们既不能肯定运算下去永远得不到回文数,也不知道需要再运算多少步才能最终得到回文数。

#include <stdioh>

#include <mathh>

int x,y;

int separate(int data, int n)

{

        int i,j; y=0;

        while(n!=0){

                (data+y)=n%10;n=n/10;y++;

        }

        (data+y)='\0';

        for(i=0,j=y-1;i<=j;i++,j--){

                if((data+i)!=(data+j)){

                        printf("%d不是回文!!!\n",x);break;

                }

        }

        if(i == y - 1)

                printf("是回文数\n");

}

int main()

{

        int a[99];

        printf("请输入一个正整数:");

        scanf("%d",&x);

        separate(a,x);

        return 0;

}

希望LZ好好学习

假设这个数是变量a,那么:

String s1 = a+"";//转成字符串先

String s2 = "";

for(int i=s1length()-1;i>=0;i--){//把s1反序,用s2接收

s2 += s1substring(i,i+1);

}

if(s1==s2){

Systemoutprint(a+"是回文数");

}else{

Systemoutprint(a+"不是回文数");

}

以上就是关于java 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位全部的内容,包括:java 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位、输入一个三位十进制数,判断该数是否为回文数、C语言程序设计判断一个数是否是回文数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/9272485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存