num ^ numの最初のk桁を見つける問題を試して、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で同じ精度を得るにはどうすればよいですか?
編集:私はこの精度を得るための外部ライブラリパッケージについて知っていますが、ネイティブソリューションはありますか?