NetBeans die Summe der (Dezimal-) Ziffern von n3 gleich n ist.

J

Jooola

Gast
Hallo, ich habe die Probleme der obere Grenze zu finden.
die Aufgabenstellung:
Die Summe der Ziffern von n3 ist gleich n.

Gehen Sie dabei so vor, dass Sie alle Zahlen bis zu einer geeignet gewählten oberen Grenze auf diese Eigenschaft hin untersuchen und ggf. ausgeben lassen:

Java:
    for (int n = 0; n < obereGrenze; ++n) {
        ...
        if (n_hat_die_gesuchte_Eigenschaft) System.out.println(n);
    }
Beispiel:
7 hat die gesuchte Eigenschaft nicht: 7*7*7 = 343, 3+4+3 = 10 != 7
8 hat die gesuchte Eigenschaft: 8*8*8 = 512, 5+1+2 = 8


Java:
public static void main(String[] args) {
        
      int n = Integer.parseInt(args [0]);  
      int obereGrenze = 1000;
    
      
      for(; n < obereGrenze; n++)
      {
  
      int sum = n * n * n;
      
      System.out.println("\nDie Quersumme n ist " + n );
      System.out.println("Die Summe der Ziffer von n^3: " + sum);
      
      int zahl = sum;
      int quersumme = 0;
      
    
      while (zahl > 0) {
          quersumme += zahl%10;
          zahl = zahl/10;
      }
      if(zahl==0) {
          System.out.println("Quersumme:" +quersumme);
      } 
     
      if (quersumme== n) {
            System.out.println("Ja, die Summe der Ziffern von n^3 ist gleich n");  
          
          }
      else {
            System.out.println("Nein, die Summe der Ziffern von n^3 ist nicht gleich n");    
      }
          }
}
       
}
 
Zuletzt bearbeitet von einem Moderator:
J

Jooola

Gast
ich vergesse dazu zu schreiben.

Ich habe die oberen Grenze auf diese Eigenschaft hin untersuchen. Die obere Grenze beträgt bis 27.
 
S

SlaterB

Gast
besteht eine Frage?


System.out.println("\nDie Quersumme n ist " + n );
System.out.println("Die Summe der Ziffer von n^3: " + sum);

sind ziemlich eigenwillige Bezeichnungen der ausgegebenen Werte
 
S

SlaterB

Gast
exakt musst du sie glaube ich nicht bestimmen bei 'geeignet gewählten oberen Grenze', das wäre für sich ja ein mathematisches Problem unabhängig vom Programm,
bisschen Überlegung reicht,
statt 1000 kann man sich schon 100 anschauen, 100*100*100 = 1.000.000, das sind nur 7 Stellen, jede bestenfalls eine 9,
7x9 sind nicht über 63, um auf die 100 zu kommen bräuchte es 3 weitere Stellen und noch mehr,
dafür müsste n aber noch größer sein, schon bei mindestens 1000 und es sieht noch weitaus schlimmer aus, 100 weitere Stellen nötig usw.

also nimm 100 als Maximum mit in etwa dieser Begründung oder rechne noch genauer, aber schwer, glaube ich
 
J

Jooola

Gast
Meine Frage ist:

Soll ich alle Zahlen bis zu einer geeignet gewählten oberen Grenze auf diese Eigenschaft hin untersuchen. Ich weiß nicht wie?
 
S

SlaterB

Gast
mein Posting von 17:03 gesehen? welche obere Grenze mag fraglich sein, 'wie' aber nicht, du hast doch schon Code
 
J

Jooola

Gast
Ich habe anders überlegt.

Ich wollte, "n == quersumme" soll nur ausgeben, programmieren.
Ich habe mehrmals probiert. Geht net.. Könnt Ihr mir Tipps geben?
 

Neue Themen


Oben