Die Anzahl der Stellen kann genau durch die gerundete (untere) Summe der Basis 10 log der beiden Multiplikanden plus 1, wie folgt:
%Vor%Ausgabe:
%Vor%Dies wird für beliebig große Zahlen funktionieren.
Cristobalitos Antwort bekommt es ziemlich gut. Lass mich das "About" präzisieren:
Angenommen, die erste Zahl hat n Ziffern und die zweite hat m. Der niedrigste Wert ist 10 ^ (n-1) bzw. 10 ^ (m-1). Dieses Produkt würde das niedrigste sein und wäre 10 ^ (m + n-2), was m + n-1 Ziffern ist.
Der höchste Wert ist 10 ^ n - 1 bzw. 10 ^ m - 1. Dieses Produkt wäre das höchste, das es sein könnte, und wäre 10 ^ (n + m) - 10 ^ n - 10 ^ m + 1, das höchstens m + n Ziffern hat.
Wenn Sie also eine n-stellige Zahl mit einer m-stelligen Zahl multiplizieren, hat das Produkt entweder m + n-1 oder m + n Ziffern.
Eine ähnliche Logik gilt für andere Basen wie Base 2.
Tags und Links java math mathematical-optimization multiplication