Thuật toán nhân lũy thừa bằng bình phương hoặc 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 đó.
Phép nâng lên lũy thừa tự nhiên bậc n của số x (x được gọi là cơ số) được định nghĩa từ hệ thức
Với n lớn số phép nhân là rất lớn.
## Ví dụ
Chẳng hạn với n=35 quá trình tính
qua 35 bước:
Ta nhận xét rằng có thể giảm bớt số phép nhân chẳng hạn với dãy phép tính
,
,
,
.
Công thức đệ quy
Quá trình tính toán trên chính là quá trình tính nhờ công thức đệ quy
Với n=0 thì
Với n>0 ta có công thức
Như vậy phép tính
được quy về một số phép bình phương và phép nhân do vậy mà có tên gọi **thuật toán bình phương và nhân**.
## Giải thuật đệ quy
Giải thuật sau tính đệ quy
Function Square_Multi (int x, n, m){
Var Int Power
If n=0 then return 1
Else {
n:=LShift(n,1)
Power:= Square_Multi (int x, n, m)
Power:=(Power^2) mod m
If n BitAnd 1 =0 then
Return Power
Else
Return (Power*x) mod m
}
}
Đoạn code viết bằng java:
public static int binhphuong (int x,int n,int m)
{
int p;
if (n==0) then return 1;
p=binhphuong(x,n/2,m);
if (n%2==0)
return (pp)%m;
else
return (pp*x)%m;
}
Chú ý rằng một số tự nhiên là chẵn hay lẻ chỉ phụ thuộc vào bít số 0 của nó nên trong giải thuật trên ta sử dụng toán tử AndBit để xác định tính chãn lẻ của n và sử dụng phép LShif để tính phần nguyên của n/2.
Giải thuật không đệ quy
Trong giải thuật đệ quy trên đây ta xét tính chẵn lẻ của n và liên tục chia n cho 2 lấy phần nguyên cho đến khi n=0. Thực chất quá trình này chính là tìm các bít của n. Do đó ta có thể thực hiện phép đổi ra số nhị phân trước sau đó tính lũy thừa theo quy tắc bình phương và nhân.
Giải thuật
Đổi n ra số nhị phân ghi vào mảng
Function Power_Modulo(Int x,n,m){
Var Int Power:=1
For i=1 to k do
Power:=(Power^2) mod m
If b[i]=1 then
Power:=(Power*x) mod m
Return Power
}
Ví dụ
Trong ví dụ sau ta tính .
Đổi ra số nhị phân ta được .
Bảng sau đây tính toán từng bước theo giá trị của các bít của .
Khởi tạo .
Như vậy ta có
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Thuật toán nhân lũy thừa bằng bình phương** hoặc t**huậ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ố
Bài viết này là **danh sách các thuật toán** cùng một mô tả ngắn cho mỗi thuật toán. ## Thuật toán tổ hợp ### Thuật toán tổ hợp tổng quát * Thuật toán Brent: tìm
Trong khoa học máy tính và trong toán học, **thuật toán sắp xếp** là một thuật toán sắp xếp các phần tử của một danh sách (hoặc một mảng) theo thứ tự (tăng hoặc giảm).
Trong toán học và khoa học máy tính, **lý thuyết số tính toán**, còn được gọi là **lý thuyết số thuật toán**, là nghiên cứu về các thuật toán để thực hiện tính toán lý
Trong thống kê, **_số bình quân_** có hai nghĩa có liên quan: * _số bình quân_ theo nghĩa thông thường, được gọi chính xác hơn là số bình quân số học để phân biệt với
phải|Mỗi phần tử của một ma trận thường được ký hiệu bằng một biến với hai chỉ số ở dưới. Ví dụ, a2,1 biểu diễn phần tử ở hàng thứ hai và cột thứ nhất
_Cuốn [[The Compendious Book on Calculation by Completion and Balancing_]] Từ _toán học_ có nghĩa là "khoa học, tri thức hoặc học tập". Ngày nay, thuật ngữ "toán học" chỉ một bộ phận cụ thể
Bài này nói về từ điển các chủ đề trong toán học. ## 0-9 * -0 * 0 * 6174 ## A * AES * ARCH * ARMA * Ada Lovelace * Adrien-Marie Legendre *
**Nguyễn Quang Toản ** (chữ Hán: 阮光纘, 1783 – 1802), là vị hoàng đế thứ 3 và cuối cùng của nhà Tây Sơn trong lịch sử Việt Nam. Ông là con trai của vua Quang
Trong tài chính, **phân tích kỹ thuật** là một phương pháp phân tích chứng khoán dự báo hướng của giá cả thông qua việc nghiên cứu các dữ liệu thị trường quá khứ, chủ yếu
**Chiến tranh nhân dân** là chiến lược quân sự tại Việt Nam để chỉ chung các cuộc chiến tranh giải phóng dân tộc và bảo vệ Tổ quốc do nhân dân Việt Nam tiến hành
Bộ manga Hunter _×_ Hunter của Yoshihiro Togashi có một hệ thống các nhân vật hư cấu rất rộng lớn. Đầu tiên phải kể đến là Gon, con trai của Hunter nổi tiếng, Ging Freecss.
**Phương trình** là một biểu thức toán học có chứa các biến số và các phép toán, trong đó các giá trị của các biến được tìm kiếm để làm cho cả biểu thức trở
**Triết học phương Đông** hay **triết học** **châu Á** bao gồm các triết học khác nhau bắt nguồn từ Đông và Nam Á bao gồm triết học Trung Quốc, triết học Nhật Bản và triết
Trong toán học, **xích cộng** cho số nguyên dương là dãy số các số tự nhiên bắt đầu bằng 1 và kết thúc với , sao cho mỗi số trong dãy là tổng của hai
Trong đại số sơ cấp, **phương trình bậc hai** là phương trình có dạng Với là ẩn số chưa biết và , , là các số đã
thumb|Khoa bảng Nam Định, 1897 **Khoa bảng Việt Nam** là chế độ khoa cử thời quân chủ tại Việt Nam. Ở thời thượng cổ, sử nước Việt không chép rõ về cách tuyển lựa trí
nhỏ|Một số nhân vật trong truyện Dưới đây là danh sách các nhân vật trong anime và manga _Dragon Ball_ của tác giả Toriyama Akira. = Cốt truyện = Câu chuyện bắt đầu từ cuộc
Danh sách các vấn đề mở trong toán học ## Danh sách các bài toán mở trong toán học nói chung Nhiều nha toán học và tổ chức đã xuất bản danh sách cái bài
**Triết học toán học** là nhánh của triết học nghiên cứu các giả định, nền tảng và ý nghĩa của toán học, và các mục đích để đưa ra quan điểm về bản chất và
right|thumb|upright=1.35|alt=Graph showing a logarithmic curve, crossing the _x_-axis at _x_= 1 and approaching minus infinity along the _y_-axis.|[[Đồ thị của hàm số|Đồ thị của hàm logarit cơ số 2 cắt trục hoành tại và đi
thumb|right|Các thao tác bước xoay [[Rubik|khối lập phương Rubik tạo thành nhóm khối lập phương Rubik.]] Trong toán học, một **nhóm** (group) là một tập hợp các phần tử được trang bị một phép toán
Số **pi** (ký hiệu: ****), còn gọi là **hằng số Archimedes**, là một hằng số toán học có giá trị bằng tỷ số giữa chu vi của một đường tròn với đường kính của đường
nhỏ|Các bảng số học dành cho trẻ em, Lausanne, 1835 **Số học** là phân nhánh toán học lâu đời nhất và sơ cấp nhất, được hầu hết mọi người thường xuyên sử dụng từ những
**Bá Nhan** (chữ Hán: 伯颜, chữ Mông Cổ: ᠪᠠᠶᠠᠨ, chuyển ngữ Poppe: Bayan, chữ Kirin: Баян, 1236 – 11/01/1295), người Bát Lân bộ (Baarin), dân tộc Mông Cổ, là tướng lĩnh nhà Nguyên trong lịch
**Quảng Bình** là một tỉnh ven biển cũ nằm ở phía nam vùng Bắc Trung Bộ, miền Trung của Việt Nam. Tỉnh lỵ của tỉnh là thành phố Đồng Hới. Nơi đây cũng là nơi
**Tống Nhân Tông** (chữ Hán: 宋仁宗, 12 tháng 5, 1010 - 30 tháng 4, 1063), tên húy **Triệu Trinh** (趙禎), là vị hoàng đế thứ tư của nhà Bắc Tống trong lịch sử Trung Quốc,
nhỏ|phải|Chọn lọc các nhân vật chính và phụ của _Fairy Tail_, tính cả các thành viên của hội tiêu đề. Bộ manga và anime _Fairy Tail_ có sự tham gia của một dàn nhân vật
Dưới đây là danh sách nhân vật trong bộ truyện tranh nổi tiếng Nhật Bản _Naruto_ của tác giả Masashi Kishimoto. Trong thế giới Naruto có năm nước lớn được gọi là Ngũ Đại Cường
upright=1.2|nhỏ|Năm bước trong quá trình làm giấy, được [[Thái Luân phát minh vào năm 105, thời Đông Hán]] Triều đại nhà Hán (206 TCN - 220) thời cổ Trung Hoa, chia ra làm hai giai
**Minimax** (còn gọi là **minmax**) là một phương pháp trong lý thuyết quyết định có mục đích là tối thiểu hóa (_mini_mize) tổn thất vốn được dự tính có thể là "tối đa" (_max_imize). Có
Một số nhân vật chính và phụ của trong truyện Đây là danh sách các nhận vật trong bộ truyện tranh _Thám tử lừng danh Conan_ được tạo ra bởi tác giả Aoyama Gosho. Các
Tượng đài [[Trần Văn Thành ở thị trấn Cái Dầu]] **Khởi nghĩa Bảy Thưa** (1867 - 1873) là một cuộc kháng Pháp do Quản cơ Trần Văn Thành làm thủ lĩnh, đã xảy ra trên
nhỏ|phải|Vị trí vùng Đồng bằng sông Cửu Long trên bản đồ Việt Nam **Đồng bằng sông Cửu Long**, còn được gọi là **Tây Nam Bộ** hay** miền Tây**, là vùng cực nam của Việt Nam,
**Chủ nghĩa tự do cá nhân** hay **chủ nghĩa tự do ý chí** (tiếng Anh: _libertarianism_, từ tiếng Latinh: _liber_, tự do) là học thuyết triết học chính trị ủng hộ tự do như là
Dưới đây là danh sách thuật ngữ quần vợt. ## A * **ace**: Thuật ngữ này rất quen thuộc, được hiểu là một pha giao bóng ăn điểm trực tiếp, nhưng với điều kiện là
**Mùa bão Tây Bắc Thái Bình Dương 2024** là mùa bão Thái Bình Dương bắt đầu muộn thứ năm trong lịch sử, đồng thời là mùa bão chết chóc nhất kể từ mùa bão Tây
thumb|Bản đồ thế giới các nước tham gia chiến tranh thế giới thứ nhất. Khối Hiệp ước màu xanh, [[Liên minh Trung tâm màu cam, và các nước trung lập màu xám.]] **Hội nghị Hòa
**Wolverine** (tên khai sinh **James Howlett** và thường được gọi là **Logan**) là nhân vật hư cấu xuất hiện trong sách truyện tranh của Mỹ, xuất bản bởi Marvel Comics. Wolverine là một người đột
**Vốn tư nhân** ( **PE** ) là cổ phần trong một công ty tư nhân không chào bán cổ phiếu cho công chúng. Trong lĩnh vực tài chính, vốn cổ phần tư nhân được cung
**Thịnh vượng chung Ba Lan và Litva** (, ) hay **Liên bang Ba Lan – Litva** hay **Thịnh vượng chung Ba Lan – Litva** là một trong những quốc gia rộng lớn và đông dân
**Hoàn Nhan Tông Hàn** (chữ Hán: 完颜宗翰, 1080 – 1137), tên Nữ Chân là **Niêm Một Hát** (粘没喝), tên lúc nhỏ là Điểu Gia Nô, tướng lĩnh, hoàng thân, khai quốc công thần nhà Kim.
**_Phương Thế Ngọc_** (còn gọi là **_Truyền thuyết Phương Thế Ngọc_**, hay đơn giản là **_Truyền thuyết_** ) là một bộ phim hành động và hài kịch Hồng Kông năm 1993 do Nguyên Khuê đạo
**Leonhard Euler** ( , ; 15 tháng 4 năm 170718 tháng 9 năm 1783) là một nhà toán học, nhà vật lý học, nhà thiên văn học, nhà lý luận và kỹ sư người Thụy
**Chủ nghĩa tư bản** (Chữ Hán: 主義資本; tiếng Anh: _capitalism_) là một hệ thống kinh tế dựa trên quyền sở hữu tư nhân đối với tư liệu sản xuất và hoạt động sản xuất vì
Một nông dân [[Ai Cập cổ đại|Ai Cập cổ đang cày ruộng bằng cày có bò kéo]] nhỏ|300x300px|[[Ai Cập cổ đại là một ví dụ điển hình của một nền văn hóa sơ khai được
**Quan Vũ** (, 158?–220), hay **Quan Công**, tự **Vân Trường** (雲長), là một vị tướng nổi tiếng thời kỳ cuối nhà Đông Hán và thời Tam Quốc ở Trung Quốc. Ông là người đã góp
nhỏ|phải|Một [[chiến binh Mông Cổ trên lưng ngựa, ngựa Mông Cổ là biểu tượng cho những con ngựa chiến ở vùng Đông Á trong thời Trung Cổ]] nhỏ|phải|Một kỵ xạ Nhật Bản đang phi nước
phải|nhỏ|250x250px|Ma trận biến đổi _A_ tác động bằng việc kéo dài vectơ _x_ mà không làm đổi phương của nó, vì thế _x_ là một vectơ riêng của _A_. Trong đại số tuyến tính, một
phải|[[Sơ đồ khối của bộ điều khiển PID]] Một **bộ điều khiển vi tích phân tỉ lệ** (**PID- Proportional Integral Derivative**) là một cơ chế phản hồi vòng điều khiển tổng quát được sử dụng