(a,b) = modf(num*log10(num))
f_digits = pow(10,b+k-1)
print f_digits
Ben C aynı programı yazdığı bir num^num ilk k basamak bulma problemi çalışılıyor ++ ve 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
Giriş
O ut1
C++ > 163074912
Python > 163074908
Sonuçları kontrol ettim C++ çözümü doğru olanıdır. http://www.wolframalpha.com/input/?i=19423474^19423474
Python içinde aynı hassasiyet elde edebilirsiniz konusunda bir fikrin adresten Kontrol Edildi ???
DÜZENLEME: Bu kesinliği elde etmek için harici kitaplık paketlerini biliyorum ama herhangi bir NATIVE çözümü ???
Size her ikisi de aynı temel matematik kitaplığı (math.h), aynı temel ko-işlemciler kullanıyoruz düşünürdüm çünkü onlar, hiç farklı olduğumuz meraklı ve aynı temel IEEE 754 standart. Ama belki de python kendi sayısal kulesini yeniden yazdı. –
Wolfram alpha, son birkaç hanenin, C++ veya Python kodunuzun sonucu olmayan 2826110976 olduğunu söylüyor. –
@sharth: * ilk * birkaç basamak listeliyor, * son * az değil. –