Sagen, ich habe die Nummer 12345678Zahlen hinzufügen in einer Reihe zusammen
Gibt es eine rechnerisch effiziente Weise der Addition von 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 und bekommt die Antwort zurück
Im Idealfall würde ich Division und Parsen String vermeiden, wie ich
etwas effizienter, wenn möglich willEDIT:
der Zweck dieser Frage einen rechnerisch schnellen Weg zu finden, ist zu det Hermelin, wenn eine Zahl von 3 teilbar ist, oder die Last der Zahl auf das Modul
Es gibt eine Methode, die besagt, zugeführt zu reduzieren, wenn Sie alle Ziffern in einer Reihe hinzufügen, kann das Ergebnis dann durch 3 geteilt werden um zu prüfen, ob es ein Faktor ist. So auf diese Weise statt 12345678 zu prüfen, wäre es zu prüfen, ob 36 ein Faktor ist
So wäre es Zähler intiuative sein, um die ganze Zahl von 10 zu teilen, 100 ... usw. sowie Strings zu verwenden
Sie möchten also alle Ziffern zusammen hinzufügen? – Tunaki
ja, aber ich möchte es so effizient wie möglich, so dass keine Divisionen und keine Analyse wenn möglich, wie dieser Algorithmus wird Tausende von Mal durchgeführt und jedes winzige Bit macht einen Unterschied – Gabrielus
Sie können nicht * this * auf Code Review. Es gibt keinen Code. – nhgrif