image
1. Các Hàm Toán Học Phổ Biến
Các hàm toán học trong thư viện math.h đều có tham số là một số thuộc kiểu double và có kiểu trả về là double, bạn không cần phải nhớ hết mọi hàm mà chỉ cần nhớ cho mình một vài hàm quan trọng được sử dụng thường xuyên.
STTHàmChức năng1pow(x, y)Trả về xy2sqrt(x)Trả về căn bậc 2 của x3cbrt(x)Trả về căn bậc 3 của x4ceil(x)Trả về số nguyên nhỏ nhất lớn hơn hoặc bằng x, tương đương phép làm tròn lên5floor(x)Trả về số nguyên lớn nhất nhỏ hơn hoặc bằng x, tương đương phép làm tròn xuống6round(x)Trả về số nguyên gần x nhất phụ thuộc phần thập phân7fabs(x)Trả về trị tuyệt đối của số x8exp(x)Trả về ex9fmod(x, y)Trả về số dư khi chia x cho y10log(x)Trả về logarit tự nhiên của x11log10(x)Trả về logarit thập phân của x12cos(x)Trả về giá trị hàm cos với x là radian13sin(x)Trả về giá trị hàm sin với x là radian14tan(x)Trả về giá trị hàm tan với x là radian15acos(x)Trả về giá trị hàm arccos với x là radian16asin(x)Trả về giá trị hàm arcsin với x là radian17atan(x)Trả về giá trị hàm arctan với x là radian
Hàm pow(x,y) : Trả về lũy thừa xy, lưu ý là hàm này trả về số thực double nên nếu bạn muốn tính lũy thừa với x và y nguyên thì cần lưu kết quả dưới dạng số nguyên hoặc ép kiểu khi in ra.
Ví dụ 1:
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ int a = 2, b = 10; cout << a << “^” << b << ” = ” << (int)pow(a, b) << endl; //Tính căn bậc 5 int n = 100; double res = pow(n, 1.0 / 5); cout << fixed << setprecision(3) << res << endl; return 0; }
Output :
2^10 = 1024 2.512
Hàm sqrt(x) : Tính căn bậc 2 của x
Ví dụ 2 :
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ int n = 100; int can = (int)sqrt(n); cout << can << endl; double res = sqrt(1000); cout << fixed << setprecision(2) << res << endl; return 0; }
Output :
10 31.62
Hàm cbrt(x) : Trả về căn bậc 3 của x
Ví dụ 3 :
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ int n = 27; int can = (int)cbrt(n); cout << can << endl; double res = cbrt(100); cout << fixed << setprecision(2) << res << endl; return 0; }
Output :
3 4.64
Hàm ceil(x) : Trả về số nguyên khi làm tròn phần thập phân của x lên, ví dụ x là 2.3 hay 2.8 thì khi sử dụng hàm ceil ta sẽ thu được số 3.
Ví dụ 4 :
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ double a = 3.14; double b = 3.8; cout << (int)ceil(a) << ” ” << (int)ceil(b) << endl; return 0; }
Output :
4 4
Hàm floor(x) : Trả về số nguyên khi làm tròn phần thập phân của x xuống, ví dụ x là 2.3 hay 2.8 thì khi sử dụng hàm ceil ta sẽ thu được số 2.
Ví dụ 5 :
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ double a = 3.14; double b = 3.8; cout << (int)floor(a) << ” ” << (int)floor(b) << endl; return 0; }
Output :
3 3
Hàm round(x) : Làm tròn dựa vào phần thập phân của x, nếu phần thập phân của x lớn hơn hoặc bằng 0.5 thì sẽ làm tròn lên, ngược lại sẽ làm tròn xuống
Ví dụ 6 :
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ double a = 3.14; double b = 3.8; cout << (int)round(a) << ” ” << (int)round(b) << endl; return 0; }
Output :
3 4
Hàm abs(x) : Trả về giá trị tuyệt đối của x, hàm này nằm trong thư viện stdlib.h
Ví dụ 7 :
#include “iostream” #include “math.h” #include “iomanip” using namespace std; int main(){ cout << abs(10) << ” ” << abs(-100) << endl; return 0; }
Output :
10 100
2. Thư Viện Algorithm
Algorithm là thư viện chứa các hàm thuật toán phổ biến, tuy nhiên các hàm này chủ yếu dùng cho dãy mảng. Hiện tại bạn sẽ làm quen với một vài hàm cơ bản trong thư viện này trước, sau khi học phần mảng thì mình sẽ giới thiệu các hàm khác trong thư viện này.
Khi sử dụng thư viện này bạn cần inlcude vào chương trình của mình.
Hàm swap
Hàm này sẽ hoán đổi giá trị của 2 biến, bạn có thể tự code hoán đổi giá trị 2 biến hoặc sử dụng hàm có sẵn.
#include “iostream” #include “algorithm” #include “iomanip” using namespace std; int main(){ int a = 100, b = 200; //Dùng hàm có sẵn swap(a, b); cout << a << ” ” << b << endl; //Tự code char x = ‘@’, y = ‘#’; char temp = x; x = y; y = temp; cout << x << ‘ ‘ << y << endl; return 0; }
Output :
200 100 # @
Hàm min
Hàm min sẽ trả về giá trị nhỏ hơn trong 2 hoặc nhiều số, trong trường hợp bạn áp dụng hàm min với nhiều số thì cần thêm ngoặc nhọn {}
#include “iostream” #include “algorithm” #include “iomanip” using namespace std; int main(){ int a = 100, b = 200; cout << “Min(” << a << “, ” << b << “) = ” << min(a, b) << endl; cout << “Min(10, 20, 15, 4) = ” << min({10, 20, 15, 4}) << endl; cout << “Min(‘d’, ‘b’, ‘z’,) = ” << min({‘d’, ‘b’, ‘z’}) << endl; return 0; }
Output :
Min(100, 200) = 100 Min(10, 20, 15, 4) = 4 Min(‘d’, ‘b’, ‘z’,) = b
Hàm max
Hàm max sẽ trả về giá trị lớn hơn trong 2 hoặc nhiều số, trong trường hợp bạn áp dụng hàm max với nhiều số thì cần thêm ngoặc nhọn {}
#include “iostream” #include “algorithm” #include “iomanip” using namespace std; int main(){ int a = 100, b = 200; cout << “Max(” << a << “, ” << b << “) = ” << max(a, b) << endl; cout << “Max(10, 20, 15, 4) = ” << max({10, 20, 15, 4}) << endl; cout << “Max(‘d’, ‘b’, ‘z’,) = ” << max({‘d’, ‘b’, ‘z’}) << endl; return 0; }
Output :
Max(100, 200) = 200 Max(10, 20, 15, 4) = 20 Max(‘d’, ‘b’, ‘z’,) = z
Xem thêm bài giảng của mình về Hàm Toán Học trong C++ :
y-_fNgvSfjc
