Ziffern aus Zahl extrahieren? Brett vor dem Kopf?
-
Ach, du hast ja feste 9 Stellen.
Dann muss der Wert ja größergleich 550000000 und kleiner 560000000 sein.
-
DirkB schrieb:
Ach, du hast ja feste 9 Stellen.
Dann muss der Wert ja größergleich 550000000 und kleiner 560000000 sein.cout<<(wert/10000000 == 55)<<endl;

-
Kreuzschlitz schrieb:
cout<<(wert/10000000 == 55)<<endl;das ist natürlich die vermutlich einfachste und schnellste Lösung.
-
Die schnellste bestimmt nicht - Division ist ziemlich teuer. Zwar kann der Compiler das bei festem Divisor durch Multiplikationen und Bitshifts ersetzen, aber die laufzeittechnisch schnellste Lösung dürfte stumpf
if(wert >= 550000000 && wert < 560000000) { ... }sein (also so, wie DirkB es vorschlägt).
-
seldon schrieb:
Die schnellste bestimmt nicht - Division ist ziemlich teuer.
*arg* stimmt, da war ja was...
-
seldon schrieb:
Die schnellste bestimmt nicht - Division ist ziemlich teuer. Zwar kann der Compiler das bei festem Divisor durch Multiplikationen und Bitshifts ersetzen, aber die laufzeittechnisch schnellste Lösung dürfte stumpf
if(wert >= 550000000 && wert < 560000000) { ... }sein (also so, wie DirkB es vorschlägt).
Müsste das nicht wenn korrekterweise wie folgt lauten:
if(wert >= 550000000 && wert < 550000001) { ... }Bei eurer Variante existieren doch 10.000.000 Werte, für die die If-Abfrage immer true sein wird und nicht nur der eine

-
Outsider333 schrieb:
Bei eurer Variante existieren doch 10.000.000 Werte, für die die If-Abfrage immer true sein wird und nicht nur der eine

ist ja auch richtig. Nochmal in Ruhe die Aufgabenstellung lesen...
-
@Outsider333 Weniger Drogen sollen helfen beim Programmieren.

-
Mh, wenn als Vorbedingung wirklich immer gegeben sit, dass die Zahl 9 Stellen hat und vorne die 55 sein soll, dann ist das ziemlich easy, und undynamisch.
Komisch, dass nach sowas hier gefragt wird. (Aber ich kann das Brett vorm Kopf nachvollziehen ;))
-
Outsider333 schrieb:
Müsste das nicht wenn korrekterweise wie folgt lauten:
if(wert >= 550000000 && wert < 550000001) { ... }Das geht noch einfacher:
if(wert == 550000000) { ... }
Outsider333 schrieb:
Bei eurer Variante existieren doch 10.000.000 Werte, für die die If-Abfrage immer true sein wird und nicht nur der eine

Die Aufgabe war: Finden aller 9-stelligen Zahlen, die mit 55 anfangen.