03.01.2021, 12:39
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.
Gruß
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ß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner