Испытывая проблему с нахождением первых k цифр num ^ num, я написал ту же программу на C ++ и Python
C ++
long double intpart,num,f_digit,k;
cin>>num>>k;
f_digit= pow(10.0,modf(num*log10(num),&intpart)+k-1);
cout<<f_digit;
Python
(a,b) = modf(num*log10(num))
f_digits = pow(10,b+k-1)
print f_digits
Ввод
19423474 9
Выход
C++ > 163074912
Python > 163074908
Я проверил результаты, решение C ++ является точным.
Проверено на http://www.wolframalpha.com/input/?i=19423474^19423474
Есть идеи, как я могу получить такую же точность в Python ???
РЕДАКТИРОВАТЬ: я знаю о пакетах внешних библиотек для получения этой точности, но любое решение NATIVE ???