java迴文,java迴文數代碼

本文目錄一覽:

JAVA中的迴文是什麼一回是?

“迴文數”是一種數字.如:98789, 這個數字正讀是98789,倒讀也是98789,正讀倒讀一樣,所以這個數字

就是迴文數.

任意某一個數通過以下方式相加也可得到

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

不過很多數還沒有發現此類特徵(比如196,下面會講到)

另外個別平方數是迴文數

1的平方=1

11的平方=121

111的平方=12321

1111的平方=1234321

依次類推

3×51=153

6×21=126

4307×62=267034

9×7×533=33579

上面這些算式,等號左邊是兩個(或三個)因數相乘,右邊是它們的乘積。如果把每個算式中的「×」和「=」去掉,那麼,它們都變成迴文數,所以,我們不妨把這些算式叫做「迴文算式」。還有一些迴文算式,等號兩邊各有兩個因數。請看:

12×42=24×21

34×86=68×43

102×402=204×201

1012×4202=2024×2101

不知你是否注意到,如果分別把上面的迴文算式等號兩邊的因數交換位置,得到的仍是一個迴文算式,比如:分別把「12×42=24×21」等號兩邊的因數交換位置,得到算式是:

42×12=21×24

這仍是一個迴文算式。

還有更奇妙的迴文算式,請看:

12×231=132×21(積是2772)

12×4032=2304×21(積是48384)

這種迴文算式,連乘積都是迴文數。

四位的迴文數有一個特點,就是它決不會是一個質數。設它為abba,那它等於a*1000+b*100+b*10+a,1001a+110b。能被11整除。

六位的也一樣,也能被11整除

還有,人們藉助電子計算機發現,在完全平方數、完全立方數中的迴文數,其比例要比一般自然數中迴文數所佔的比例大得多。例如11^2=121,22^2=484,7^3=343,11^3=1331,11^4=14641……都是迴文數。

人們迄今未能找到五次方,以及更高次冪的迴文數。於是數學家們猜想:不存在nk(k≥5;n、k均是自然數)形式的迴文數。

在電子計算器的實踐中,還發現了一樁趣事:任何一個自然數與它的倒序數相加,所得的和再與和的倒序數相加,……如此反覆進行下去,經過有限次步驟後,最後必定能得到一個迴文數。

這也僅僅是個猜想,因為有些數並不「馴服」。比如說196這個數,按照上述變換規則重複了數十萬次,仍未得到迴文數。但是人們既不能肯定運算下去永遠得不到迴文數,也不知道需要再運算多少步才能最終得到迴文數。

Java語言如何判斷一個字元串是否迴文

Java語言判斷一個字元串是否迴文可以通過下面的函數進行判斷:

import java.util.Scanner;

public class huiwen

{public static void main(String args[])

{Scanner sca=new Scanner(System.in);

String str=sca.nextLine();

int a=str.length();

int middle=a/2,i=3;

//char c1=(char) a,c2=(char) a;

for(i=0;imiddlestr.charAt(i)==str.charAt(a-1-i);i++)

{}

if(imiddle)

System.out.println(str+”不是迴文”);

else

System.out.println(str+”是迴文”);}}

擴展資料:

c/c++判斷一個字元串是否迴文的方法:

#include iostream

#include string

using namespace std;

int main()

{string str; int i,j,l;int flag = 1;

while (cin str)

{ l = str.length(); for (i = 0,j = l-1; i = j; i++,j–)

{ if (str[i] != str[j])

{ flag = 0;break; }}

if (flag)

cout “YES” endl;

else

cout “NO” endl;

flag = true;}

return 0;}

參考資料:百度百科-迴文串

java編程題判斷迴文數

Scanner in = new Scanner(System.in);

System.out.println(“請輸入一個整數N=:”);

int input = in.nextInt();

int i = 0;

int sum = 0;

int record=input;

while(true){

i = input%10;

sum =sum*10+i;

input /= 10;

if(input==0) break;

}

if(sum==record)System.out.println(“是迴文”);

else System.out.println(“不是迴文”);

用JAVA實現迴文十進位數

public class Test {

/**

 * 判斷是否迴文

 */

public static boolean isPalindrome(String num){

return num.equals(new StringBuffer(num).reverse().toString());

}

public static void main(String[] args) {

int num = 10;

while(true){

if(isPalindrome(String.valueOf(num)) //十進位

isPalindrome(Integer.toBinaryString(num)) //二進位

isPalindrome(Integer.toOctalString(num))){ //八進位

System.out.println(num);

System.out.println(Integer.toBinaryString(num));

System.out.println(Integer.toOctalString(num));

break;

}

else{

num ++;

}

}

}

}

把數字轉化成字元串啊。

答案是

585 (10進位)

1001001001 (2進位)

1111 (8進位)

java編寫迴文數

按照你的要求編寫的,輸出從0到max中用二進位表示和十進位表示都是迴文數的Java程序如下:

import java.util.Scanner;

public class CCF {

 public static void main(String[] args) {

  Scanner sc=new Scanner(System.in);

  System.out.print(“請輸入一個整數:”); 

  int max=sc.nextInt();

  for(int i=0;i=max;i++){

   String num = String.valueOf(i); 

   String num2=Integer.toBinaryString(i);

   String reversenum=new StringBuffer(num).reverse().toString();

   String reversenum2=new StringBuffer(num2).reverse().toString();

   if(reversenum.equals(num)  reversenum2.equals(num2)){

    System.out.println(i+”用二進位表示”+num2+”和十進位表示”+i+”都是迴文數”); 

   }

  }

 }

}

運行結果:

請輸入一個整數:1000

0用二進位表示0和十進位表示0都是迴文數

1用二進位表示1和十進位表示1都是迴文數

3用二進位表示11和十進位表示3都是迴文數

5用二進位表示101和十進位表示5都是迴文數

7用二進位表示111和十進位表示7都是迴文數

9用二進位表示1001和十進位表示9都是迴文數

33用二進位表示100001和十進位表示33都是迴文數

99用二進位表示1100011和十進位表示99都是迴文數

313用二進位表示100111001和十進位表示313都是迴文數

585用二進位表示1001001001和十進位表示585都是迴文數

717用二進位表示1011001101和十進位表示717都是迴文數

【JAVA】:迴文數字

import java.util.Scanner;

public class Main{

    static final int start = 10001;

    static final int end = 999999;

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int t;

        StringBuilder sb;

        int sum;

        boolean su;

        while (sc.hasNextInt()) {

            su = false;

            t = sc.nextInt();

            for (int i = start; i = end; i++) {

                sum = 0;

                sb = new StringBuilder(String.valueOf(i));

                if (sb.toString().equals(sb.reverse().toString())) {

                    for (int j = 0; j  sb.length(); ++j) {

                        sum += sb.charAt(j) – ‘0’;

                    }

                    if (sum == t) {

                        su = true;

                        System.out.println(i);

                    }

                }

            }

            if (!su) {

                System.out.println(-1);

            }

        }

        sc.close();

    }

}

如果不能AC,優化一下: 對每個i,轉為(字元或整數)數組,對數組從索引0到長度的一半遍歷,判斷對稱位置是否相同,且各位數字和是否符合要求.

原創文章,作者:ONPI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139773.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
ONPI的頭像ONPI
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29

發表回復

登錄後才能評論