Kubusberrechnung

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von picoflop.

    Kubusberrechnung

    Hallo!

    Wir haben eine Hausübung in der Schule bekommen, in welcher wir eine Integer Zahl einlesen sollen
    sie danach trennen und den Kubus berechnen und die Summe dann ausgeben soll. Ich habe da schon in etwa eine Idee, bin aber mit der Syntax von VB noch nicht so ganz vertraut und kenne die Möglichkeiten
    und Varianten nicht. Mein Professor meint man muss keinen Array verwenden um so eine Code zu erstellen
    und die Zahlen als Integer getrennt werden sollen und nicht als String.

    Hier ist die Angabe, welche wir von unserem Professor erhalten haben falls es etwas weiterhelfen sollte:

    Schreiben Sie ein Programm, dass alle dreistelligen Zahlen ausgibt, die kleiner als Obergrenze
    sind und die gleich der Summe der Kuben ihrer Ziffern sind.



    Mit freundlichen Grüßen

    Carnivor
    Hä?

    123 -> 1,2,3 -> 1^3, 2^3, 3^3 -> 1, 8, 27 -> 36 ?

    Quellcode

    1. dass alle dreistelligen Zahlen ausgibt, die kleiner als Obergrenze
    2. sind und die gleich der Summe der Kuben ihrer Ziffern sind.

    Wieso "alle". Die Summe der Kuben aller Ziffern einer Zahl ist ja wohl EINE Zahl. Ergo kann man auch nur EINE (evtl) dreistellige Zahl ausgeben. Oder geht's auch noch um Kombinatorik?

    picoflop schrieb:

    Hä?

    123 -> 1,2,3 -> 1^3, 2^3, 3^3 -> 1, 8, 27 -> 36 ?

    Quellcode

    1. dass alle dreistelligen Zahlen ausgibt, die kleiner als Obergrenze
    2. sind und die gleich der Summe der Kuben ihrer Ziffern sind.

    Wieso "alle". Die Summe der Kuben aller Ziffern einer Zahl ist ja wohl EINE Zahl. Ergo kann man auch nur EINE (evtl) dreistellige Zahl ausgeben. Oder geht's auch noch um Kombinatorik?



    Dass Programm soll alle dreistelligen Zahlen ausgeben, welche gleich der Summe der Kuben ihrer Ziffern sind.
    z.b.: 153 = 1^3 + 5^3 + 3^3 > 1 + 125 + 27 = 153 (Wird ausgegeben)
    154 = 1^3 + 5^3 + 4^3 > 1 + 125 + 64 = 190 ( Wird nicht ausgegeben weil die Summe der Kuben der Zahl nicht mir der ursprünglich eingegebenen Zahl nicht übereinstimmt)


    Ich weiß schon was zu tun ist, bleibe aber bei der Schleife hängen..
    Wäre sehr nett wenn mir jemand erklären würde wie ich die Zahl trennen kann und dann später auf sie Zugriff habe.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Carnivor“ ()

    Such Dir doch erst mal einen richtigen Algorithmus im Net.
    Das ist nur wenig mehr als elementare Mathematik, und da gibt es bestimmt was.
    Wenn Du einen solchen Algorithmus hast, überlege Dir, wie Du ihn in Quellcode umsenten kannst. Und wenn Du dann Probleme hast, poste Deine Frage.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Weil ich Einzeiler lustig finde und weil der garantiert nicht als Lösung akzeptiert wird ;) sage ich mal:

    VB.NET-Quellcode

    1. Dim r = From i In Enumerable.Range(100, 900) Where (From s As String In i.ToString Select (Convert.ToInt32(s) ^ 3)).Sum = i Select i


    Ergebnis:

    Quellcode

    1. 153
    2. 370
    3. 371
    4. 407


    Korrekt?