Hàm div() trong C / C++
Trong bài viết này chúng ta sẽ tìm hiểu về hàm div() trong C / C++. Đây là một hàm được sử dụng trong các bài tập về tính toán số học.
Hàm div() là hàm có sẵn trong thư viện cstdlib, vì vậy trước khi sử dụng nó các bạn nhớ khai báo thư viện đã nhé: #include<cstdlib>
Cú pháp hàm div() trong C/ C++
Hàm div() được sử dụng để tính toán phần thương và phần dư của phép chia hai số.
Về mặt toán học:
Bài viết này được đăng tại [free tuts .net]
quot * y + rem = x
Trong đó:
- quot là thương.
- rem là phần dư.
- y là số chia.
- x là số bị chia.
Các cú pháp:
div_t div(int x, int y); ldiv_t div(long x, long y); lldiv_t div(long long x, long long y);
Trong đó:
- x đại diện cho tử số.
- y đại diện cho mẫu số.
Hàm div() trả về cấu trúc kiểu div_t, ldiv_t hoặc lldiv_t. Mỗi cấu trúc này bao gồm hai thành viên: quot và rem. Chúng được định nghĩa như sau:
div_t: struct div_t { int quot; int rem; }; ldiv_t: struct ldiv_t { long quot; long rem; }; lldiv_t: struct lldiv_t { long long quot; long long rem; };
Cách dùng hàm div() trong C / C++
Trong phần này mình sẽ thực hiện một ví dụ để mình họa cho hàm div() trong C++.
Cụ thể mình sẽ gọi hàm div() và truyền vào đó 2 số 51 và 6 sau đó gán cho biến result1. Để lấy phần thương ta sử dụng result1.qout
và lấy phần dư result1.rem
.
#include <iostream> #include <cstdlib> using namespace std; int main() { //gợi hàm div() để thực hiện phép chia giữa 51 và 6 div_t result1 = div(51, 6); //in ra màn hình với giá trị nguyên bằng cách sử dụng result1.qout cout << "Phần nguyên của 51/6 = " << result1.quot << endl; //in ra màn hình với giá trị là phần dư bằng cách sử dụng result1.rem cout << "Phần dư của 51/6 = " << result1.rem << endl; //tương tự như vậy đối với phép chia giữa 19237012 và 251 div_t result2 = div(19237012,251); cout << "Phần nguyên của 19237012L/251L = " << result2.quot << endl; cout << "Phần dư của 19237012L/251L = " << result2.rem << endl; cout<<"\n--------------------------------\n"; cout<<"Chương trình này được đăng tại freetuts.net"; }
Kết quả:
Như vậy là chúng ta đã tìm hiểu xong hàm div() trong C / C++. Đây là một hàm được sử dụng khá nhiều trong các bài tâp về tính toán, vì vậy hãy luyện tập thật nhiều để sử dụng nó thành thạo nhé. Chúc các bạn thành công !!!
Câu hỏi thường gặp liên quan:
- Hàm atol() trong C / C++
- Hàm strtod() trong C / C++
- Hàm strtol() trong C / C++
- Hàm free() trong C / C++
- Hàm malloc() trong hàm C / C++
- Hàm bsearch() trong C / C++
- Hàm qsort() trong C / C++
- Hàm div() trong C / C++
- Hàm labs() trong C / C++