GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
Thuật toán Nhân Bình Phương - demo
1. Thuật toán nhân bình phương
Mục đích
Thuật toán bình phương và nhân là thuật toán tính nhanh lũy thừa tự nhiên của một số (thực hoặc
nguyên), trong trường hợp cơ số là số nguyên có thể được rút gọn theo một môđun nào đó.
Thuật toán
Dạng: xn
mod m
Đổi n ra số nhị phân đưa vào mảng b[n]
Int (x, p=1,a,m,i);
For(i=0; i < b.length ; i++)
{
A = p2
% m;
If (b[i]==1);
P = a.x % m;
}
Return p;
Ví dụ minh họa
1257
mod 85
X = 12, m = 85 , n = 57, b[n] = [111001]
b[n] a = p2
mod m p = a . x mod m Ghi chú
1 12
mod 85 = 1 1 x 12 mod 85 = 12
1 122
mod 85 = 59 59 x 12 mod 85 = 28
1 282
mod 85 = 19 19 x 12 mod 85 = 58
0 582
mod 85 = 49 49 Trường hơp b[n] = 0 thì ko tính
p (chỉ tính a)0 492
mod 85 = 21 21
1 212
mod 85 = 16 16 x 12 mod 85 = 22
1257
mod 85 = 22