Rumah > pembangunan bahagian belakang > C++ > Bagaimana Kita Boleh Mengeluarkan Istilah T2 dengan Cekap daripada T1 = T2 * N! Menggunakan Analisis Eksponen Perdana?

Bagaimana Kita Boleh Mengeluarkan Istilah T2 dengan Cekap daripada T1 = T2 * N! Menggunakan Analisis Eksponen Perdana?

Barbara Streisand
Lepaskan: 2024-12-05 16:57:10
asal
599 orang telah melayarinya

How Can We Efficiently Extract the T2 Term from T1 = T2 * N! Using Prime Exponent Analysis?

Dalam artikel ini, penulis membincangkan kaedah yang pantas dan tepat untuk mengira pemfaktoran nombor besar menggunakan perpustakaan nombor besar titik tetap. Soalan berulang tentang pelaksanaan ialah pengekstrakan istilah T2 daripada produk T1 = T2 * N!, di mana T1 dan N! sudah diketahui. Untuk mencari sebutan T2, penulis menjalankan analisis ke atas eksponen perdana dan mencadangkan formula untuk mengiranya:

T2(4N) = multiplication(i=all primes<=4N) of [i^sum(j=1,2,3,4,5,...4N/(i^j)) of [(4N/(i^j))%2]]
Salin selepas log masuk

Subistilah T2 mempunyai eksponen e untuk perdana i di dalam sebutan T2(N) yang boleh dikira seperti ini:

for (e=0,j=N4;j;e+=j&1,j/=p);
Salin selepas log masuk

di mana e ialah eksponen, p ialah perdana dan N4 ialah 4*N

Istilah T2 yang dikira kemudiannya digunakan untuk mengoptimumkan pengiraan faktorial, dan algoritma yang terhasil mempamerkan kerumitan pengiraan berhampiran ~ O(log(n)).

Ukuran masa kasar disediakan untuk 128 faktorial pertama. Penulis mengakui bahawa pelaksanaan ini tidak dapat dipermudahkan lagi dan sudah sangat dioptimumkan.

Atas ialah kandungan terperinci Bagaimana Kita Boleh Mengeluarkan Istilah T2 dengan Cekap daripada T1 = T2 * N! Menggunakan Analisis Eksponen Perdana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan