English  

كتب levitation by repeated squaring

اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.

عرض المزيد

الرفع بواسطة التربيع المتكرر (معلومة)


فليكن a,k,n اعداد صحيحة عندها يمكن حساب والتعقيد الحسابي للخوارزمية هو: والخوارزمية كالتالي:

int exp_mod(a,k,n) { int d=1; int aa=a; while(k>0) { if(k%2==1) { d=(d*a)%n; } k=(k-k%2)/2; aa=(aa*aa) %n; } }

صحة هذه الخوارزمية تعتمد على أنّه يمكن كتابة كل عدد k بواسطة النظام الثنائي اي أنَّه: حينها كل ما علينا هو حساب

مثال: نريد أن نحسب:

  1. نحسب 134 بالنظام الثنائي: وهو
  2. نحسب لكل بطريقة التربيع المتكرر اي:

3. حينها y يكون حاصل ضرب كالتالي:

المصدر: wikipedia.org