Saya akan mengomentari mengapa hubungan seperti pada pertanyaan
(untuk setiap ) membantu anjak piutang. Saya tidak bisa menyelesaikan argumen, tapi mungkin seseorang bisa. n
(2n)!=∑k=0m−1akbckk
n
Pengamatan pertama adalah bahwa hubungan seperti di atas (dan lebih umum, keberadaan sirkuit aritmatika ukuran-poli untuk ) Memberikan sirkuit ukuran-poli untuk komputasi untuk diberikan dalam biner: cukup evaluasi jumlah modulo , menggunakan eksponensial dengan kuadrat ulang.( 2 n ) ! mod x x x(2n)!(2n)!modxxx
Sekarang, jika kita dapat menghitung untuk sewenang-wenang , kita dapat faktor : menggunakan pencarian biner, temukan terkecil sehingga (yang dapat kita hitung menggunakan ). Maka harus menjadi pembagi utama terkecil .y x y gcd ( x , y ! ) ≠ 1 gcd ( x , ( y ! mod x ) ) y xy!modxyxygcd(x,y!)≠1gcd(x,(y!modx))yx
Jika kita hanya dapat melakukan pangkat untuk , kita masih dapat mencoba menghitung Untuk setiap . Salah satunya akan menjadi pembagi nontrivial dari , kecuali untuk kasus yang disayangkan ketika ada sehingga adalah coprime ke, dan bagi. Ini sama dengan mengatakan bahwa bebas persegi, dan semua faktor utamanya memiliki panjang bit yang sama. Saya tidak tahu apa yang harus dilakukan dalam kasus ini (agak penting, lih. Blum integers).y gcd ( x , ( 2 n ) ! ) N ≤ log x x n x ( 2 n ) ! ( 2 n + 1 ) ! x2ygcd(x,(2n)!)n≤logxxnx(2n)!(2n+1)!x