Rumah >Java >javaTutorial >Bagaimanakah Algoritma Angkat Hensel yang Diubahsuai dengan Jadual Prakiraan Boleh Mengira Punca Kuasa Dua dengan Cekap?
Dalam kod anda yang diberikan, anda menggunakan versi lema Hensel yang diubah suai untuk mencari punca kuasa dua. Dalam pelaksanaan ini, anda melangkau nilai t tertentu apabila melakukan gelung Hensel. Anda boleh melangkau nilai t ini yang tidak menjejaskan nilai r dengan menggunakan helah bitwise untuk mencari faktor t yang menaikkan z kepada kuasa terbesar 2.
Di luar kod anda, anda juga menyediakan beberapa jadual prakiraan, termasuk:
mula: Jadual 1024 elemen yang digunakan untuk mendapatkan nilai permulaan gelung Hensel.
bad255: Jadual Boolean 512-elemen untuk menyemak dengan cepat sama ada modulo 255 nombor yang diberikan ialah segi empat sama.
Idea umum pelaksanaan adalah seperti berikut:
Pertama, anda menggunakan beberapa penyelesaian masalah pantas untuk menapis jawapan yang jelas.
Seterusnya, anda menyemak sama ada nombor itu adalah kuasa dua modulo 255. Untuk melakukan ini, anda menggunakan helah bitwise untuk mengira nilai modulo 255 nombor dan kemudian mencarinya dalam jadual bad255 yang telah dikira sebelumnya.
Akhir sekali, anda menggunakan gelung Hensel yang diubah suai untuk mengira punca kuasa dua nombor. Dalam gelung, anda menggunakan helah bitwise untuk melangkau nilai t tertentu untuk meningkatkan kecekapan.
Atas ialah kandungan terperinci Bagaimanakah Algoritma Angkat Hensel yang Diubahsuai dengan Jadual Prakiraan Boleh Mengira Punca Kuasa Dua dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!