Clever-Excel-Forum

Normale Version: [Lambda] LNUM.PRODUCT zur Multiplikation großer Zahlen in Excel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin,

erstmal frohes Neues :-)

Ich habe die LAMBDA-Funktion LNUM.PRODUCT zur Multiplikation großer Zahlen in Excel implementiert, die den Karatsuba-Algorithmus verwendet.
LNUM.PRODUCT setzt dann LNUM.SUM und LNUM.SUBTRACT voraus, die wiederum weitere meiner Funktionen verwenden.

Code:
=LAMBDA(Value1;Value2;
 LET(M;MAX(LÄNGE(Value1);LÄNGE(Value2));
     N;M+REST(M;2);
     WENN(N<5;PRODUKT(--Value1;--Value2);
          LET(X ;TEIL(WIEDERHOLEN(0;N-LÄNGE(Value1))&Value1;
                 SEQUENZ(2;1;1;N/2);N/2);
              Y ;TEIL(WIEDERHOLEN(0;N-LÄNGE(Value2))&Value2;
                 SEQUENZ(2;1;1;N/2);N/2);
              XL;INDEX(X;1;1);
              XR;INDEX(X;2;1);
              YL;INDEX(Y;1;1);
              YR;INDEX(Y;2;1);
              XS;LNUM.SUM(XL;XR;8);
              YS;LNUM.SUM(YL;YR;8);
              PA;LNUM.PRODUCT(XL;YL);
              PB;LNUM.PRODUCT(XR;YR);
              PC;LNUM.PRODUCT(XS;YS);
              TA;LNUM.SUM(PA;PB;8);
              TB;LNUM.SUBTRACT(PC;TA;8)&WIEDERHOLEN(0;N/2);
              TC;LNUM.SUM(PB;TB;8);
                 LNUM.SUM(TC;PA&WIEDERHOLEN(0;N);8)))))

Gruß