Palindrom

Status
Nicht offen für weitere Antworten.

Halt

Neues Mitglied
Guten Abend,

wir sollen ein Palindrom erstellen, welches ganze Zahlen auswertet.
Wenn ich den Zahlenberreich einschränke ist es ja kein Problem. Aber ich würde gerne den ganzen Zahlenraum vom Integer auswerten, kann mir vllt. jemand einen Tipp geben.

Mit freundlichen Grüßen

Halt
 

hdi

Top Contributor
Was meinst du mit auswerten? Ein Palindrom ist über dem Integerraum ist doch einfach sowas (wenn du nur positive Zahlen nimmst):

0123...Integer.MAX Integer.MAX...3210

oder was meinst du?
 

Halt

Neues Mitglied
Um das Problem mal besser zu erklären wir dürfen kein String und keine Arrays verwenden.
Die einzigsten Befehle die wir verwenden können, sind die Befehle und Schleifen:
while, if/else, und das wars und damit muss ich den Wertebereich von -2.147.483.657
bis 2.157.583.648 abdecken.
 

hdi

Top Contributor
edit: War'n Quatsch.

Vorschlag:


Java:
int i = Integer.MIN_VALUE;
while( i<= Integer.MAX_VALUE ){
     System.out.print(i++);
}

UNGETESTET! Ich weiss dass es Probs geben kann mit den Werten, also prüf das lieber
 
Zuletzt bearbeitet:

Schandro

Top Contributor
wie wärs hiermit? könnte aber wahrscheinlich noch optimiert werden...
Java:
package dumb;

public class IntegerPalindromChecker {
	
	
	public static void main(String[] args) {
		for(int i=Integer.MIN_VALUE;i<=Integer.MAX_VALUE;++i){
			if(istPalindrom(i)){
				System.out.println(i);
			}
		}
	}
	
	public static boolean istPalindrom(int zahl){
		int length = (int) Math.log10(Math.abs(zahl));
		for(int i=0;i<=length/2;++i){
			if(getZiffer(zahl, i) != getZiffer(zahl, length-i)){
				return false;
			}
		}
		return true;
	}
	
	public static int getZiffer(int zahl, int index){
		int result = realModulo( (int)(zahl/Math.pow(10,index)) , 10 );
		//System.out.println("zahl="+zahl+" index="+index+"  result="+result);
		return result;		
	}
	
	public static int realModulo(int z1, int z2){
		return Math.abs(z1%z2);
	}
}
Achso: Bei Integer.MIN_VALUE ist die length 0. Warum? Weil Math.abs(Integer.MIN_VALUE) immer noch Integer.MIN_VALUE ist! Der Betrag von Integer.MIN_VALUE ist nämlich GRÖßER als Integer.MAX_VALUE. Deswegen liefert log10(Math.abs(Integer.MIN_VALUE)) 0 zurück. Aber egal, Integer.MIN_VALUE ist eh kein Polindrom. Wollts der Vollständigkeit halber nur erwähnt haben.
 

Landei

Top Contributor
wie wärs hiermit? könnte aber wahrscheinlich noch optimiert werden...

Nicht nur wahrscheinlich :p

Java:
    public static boolean test(int n) {
        n = Math.abs(n);
        if (n % 10 == 0) {
            return n == 0;
        } else {
            int k = n;
            int r = 0;
            while (k > 0) {
                r = 10 * r + k % 10;
                k /= 10;
            }
            return n == r;
        }
    }
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
A Palindrom Java Basics - Anfänger-Themen 3
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
H Palindrom ermitteln Java Basics - Anfänger-Themen 21
N palindrom erkennen Java Basics - Anfänger-Themen 3
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
L Palindrom in zweidimensionalem Array Java Basics - Anfänger-Themen 16
B Palindrom Test mit Junit Java Basics - Anfänger-Themen 23
T Auf Palindrom überprüfen Java Basics - Anfänger-Themen 10
R Best Practice Palindrom in einem Text finden Java Basics - Anfänger-Themen 18
L In Javakara Palindrom erkennen. Java Basics - Anfänger-Themen 9
P Programm Hilfe Palindrom Java Basics - Anfänger-Themen 6
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
Y Rekursiv Palindrom herausfinden Java Basics - Anfänger-Themen 5
C Palindrom im array Java Basics - Anfänger-Themen 5
R Palindrom eines int-Arrays berechnen Java Basics - Anfänger-Themen 14
D Palindrom Java Basics - Anfänger-Themen 15
H Palindrom Programm Java Basics - Anfänger-Themen 8
K Palindrom Test Java Basics - Anfänger-Themen 9
C Überprüfen auf Palindrom Java Basics - Anfänger-Themen 12
P Palindrom Java Basics - Anfänger-Themen 10
R In einem Palindrom 2 Buchstaben vergleichen Java Basics - Anfänger-Themen 16
NoXiD Auf Palindrom Prüfen Java Basics - Anfänger-Themen 9
M Palindrom mit Groß & kleinbuchstaben Java Basics - Anfänger-Themen 19
M Palindrom Test mit Char-arrays! Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben