Trong toán học và khoa học máy tính, hàm floor (phần nguyên nhỏ nhất) và ceiling (phần nguyên lớn nhất) xác định số nguyên gần nhất bên trái và bên phải của một số thực. Cụ thể, floor(x) là số nguyên lớn nhất không vượt quá x, còn ceiling(x) là số nguyên nhỏ nhất không nhỏ hơn x.
Ký hiệu
Gauss đã giới thiệu ký hiệu ngoặc vuông [x] cho hàm floor trong lý thuyết tương hỗ bậc hai vào năm 1808. Ký hiệu này vẫn được sử dụng trong toán học cho đến khi Iverson phát triển các hàm "floor" và "ceiling" với ký hiệu và vào năm 1962 trong ngôn ngữ lập trình APL của ông. Hiện nay, cả hai ký hiệu này vẫn được sử dụng trong toán học.
Ví dụ minh họa
| x | Floor(x) | Ceiling(x) | Phần lẻ |
|---|---|---|---|
| −2.7 | −3 | −2 | 0.3 |
| −2 | −2 | −2 | 0 |
| 12/5 = 2.4 | 2 | 3 | 2/5 = 0.4 |
| 2.7 | 2 | 3 | 0.7 |
Xem phần dưới đây để hiểu thêm về khái niệm phần lẻ.
Khái niệm và đặc điểm
Trong các công thức dưới đây, x và y là các số thực, còn k, m, và n là các số nguyên, và biểu thị tập hợp các số nguyên (bao gồm số dương, số âm và không).
Các hàm Floor và Ceiling có thể được định nghĩa qua tập hợp như sau
Trong một nửa khoảng có độ dài bằng 1, luôn tồn tại duy nhất một số nguyên. Do đó, với bất kỳ số thực x nào, sẽ có duy nhất cặp m và n thỏa mãn điều kiện sau:
Khi đó, và có thể được sử dụng để định nghĩa các hàm floor và ceiling.
Phần lẻ của số thực được xác định qua công thức: . Công thức của toán tử mô-đun như sau:
Định lý tương đương
Những công thức dưới đây sẽ giúp ta đơn giản hóa các biểu thức có chứa hàm floor và ceiling.
Trong lý thuyết thứ tự, hàm floor có thể được coi như một ánh xạ thặng dư, tức là một phần của liên kết Galois: nó chính là liên hợp trên của hàm nhúng các số nguyên vào tập hợp số thực.
- Dưới đây là bảng các công thức toán học giúp mô tả các mối quan hệ giữa giá trị phần nguyên của x và n trong một dãy số:
Dưới đây là một số quy tắc áp dụng khi cộng thêm một số nguyên vào các hàm phần nguyên như sau:
- Các công thức trên chỉ áp dụng khi n là một số nguyên. Nếu n không phải là số nguyên, sẽ có sự khác biệt như sau:
Khi n không phải là số nguyên, các công thức được điều chỉnh như sau:
- Tương tự như vậy, khi cộng các hàm phần nguyên với nhau, ta có những công thức:
Mối quan hệ giữa các hàm phần nguyên và phần trên của một số có thể được mô tả một cách dễ hiểu.
Dễ dàng từ định nghĩa, ta có thể suy ra được các tính chất của các hàm phần nguyên.
- Một tính chất quan trọng là: ⌊x⌋ ≤ ⌈x⌉. Dấu '=' chỉ xảy ra khi và chỉ khi x là một số nguyên.
Khi x không phải là số nguyên, hiệu giữa phần nguyên lớn nhất và phần nguyên nhỏ nhất của x sẽ là 1, ngược lại, nếu x là số nguyên, hiệu này là 0.
- Khi n là số nguyên, ta có ⌊n⌋ = ⌈n⌉ = n, tức là phần nguyên lớn nhất và nhỏ nhất của n đều bằng chính n.
Khi tham số là số âm, ta áp dụng hàm floor và ceil và đưa dấu trừ ra ngoài để tính toán.
- Ta có mối quan hệ: ⌊x⌋ + ⌈-x⌉ = 0, nghĩa là phần nguyên của x cộng với phần nguyên của -x sẽ bằng 0.
- Từ đó suy ra: ⌊-x⌋ = -⌈x⌉, tức là phần nguyên của -x bằng âm của phần nguyên của x.
- Tương tự, ta cũng có: ⌈-x⌉ = -⌊x⌋, phần nguyên trên của -x bằng âm của phần nguyên dưới của x.
Giải thích về phần lẻ của số nguyên, một khái niệm quan trọng trong các phép toán trên.
- Khi cộng x với -x, ta có kết quả: {x} + {-x} = 0 nếu x là số nguyên, còn nếu x không phải là số nguyên thì kết quả bằng 1.
Các hàm floor, ceiling và phần nguyên của một số có tính chất lũy đẳng trong các phép toán.
- Các hàm phần nguyên: ⌊x⌋, ⌈x⌉ và {x} đều trả về giá trị tương ứng với x, ví dụ: ⌊x⌋ = ⌊x⌋, ⌈x⌉ = ⌈x⌉, và {x} = {x}.
Các đẳng thức sau dễ dàng chứng minh là đúng: ⌊x⌉ = ⌈x⌋ và ⌈x⌋ = ⌊x⌉.
- Các hàm như phần nguyên trên, dưới và phần lẻ giúp ta dễ dàng phân tích các số thực theo dạng nguyên hoặc phần thập phân.
Khi y đã được xác định, phép toán x mod y có tính chất lũy đẳng.
- Theo định lý, ta có đẳng thức: (x mod y) mod y = x mod y.
Từ định nghĩa trên, ta suy ra được: {x} = x mod 1.
- Phép chia giữa x và y có thể được biểu diễn dưới dạng mod.
Phép chia luôn đóng vai trò quan trọng trong việc tìm hiểu các tính chất của các phép toán mod.
Khi n khác 0,
- Ta có đẳng thức sau: 0 ≤ {m/n} ≤ 1 - 1/|n|.
Nếu n lớn hơn 0,
- Ta có công thức: ⌊(x + m) / n⌋ = ⌊(⌊x⌋ + m) / n⌋, và ⌈(x + m) / n⌉ = ⌈(⌈x⌉ + m) / n⌉.
Nếu m lớn hơn 0,
- Biểu thức sau mô tả giá trị của
Với m = 2:
- Khi m = 2, công thức trở thành: n = ⌊n/2⌋ + ⌈n/2⌉.
Tổng quát, với m > 0, ta có công thức: ⌈mx⌉ = ⌈x⌉ + ⌈x - 1/m⌉ + ⋯ + ⌈x - (m-1)/m⌉.
- Tương tự, ⌊mx⌋ = ⌊x⌋ + ⌊x + 1/m⌋ + ⋯ + ⌊x + (m-1)/m⌋.
Công thức dưới đây sử dụng để chuyển đổi giữa dấu floor và dấu ceiling khi m > 0.
- Công thức chuyển đổi từ ⌈n/m⌉ sang ⌊(n+m-1)/m⌋ + 1: ⌈n/m⌉ = ⌊(n+m-1)/m⌋ = ⌊(n-1)/m⌋ + 1.
Khi m và n là hai số nguyên dương và nguyên tố cùng nhau, ta có công thức sau đây.
- Kết quả tổng quát: ∑_{i=1}^{n-1} ⌊im/n⌋ = 1/2 * (m-1) * (n-1).
Do tính đối xứng của vế phải theo m và n, ta có thể viết lại công thức sau.
- Công thức tổng quát: ⌊m/n⌋ + ⌊2m/n⌋ + ... + ⌊(n-1)m/n⌋ = ⌊n/m⌋ + ⌊2n/m⌋ + ... + ⌊(m-1)n/m⌋.
Tổng quát đối với hai số nguyên dương m và n, ta có công thức sau.
- Với số thực ngẫu nhiên x và các số nguyên dương m, n, ta áp dụng công thức dưới đây.
Khi m, n là các số nguyên dương và x là số thực bất kỳ, ta có công thức này.
- Công thức: ⌊⌊x/m⌋ / n⌋ = ⌊x / mn⌋.
Khái niệm về sự liên tục.
Mặc dù không có hàm nào chúng ta đang xét là liên tục, tất cả đều tuyến tính trên từng đoạn. Các hàm ⌊x⌋ và ⌈x⌉ là hằng trên từng đoạn và gián đoạn tại các điểm nguyên. Hàm {x} cũng gián đoạn tại các điểm nguyên, còn x mod y có sự gián đoạn tại các bội của y.
Hàm ⌊x⌋ là bán liên tục trên, trong khi ⌈x⌉ và {x} là bán liên tục dưới. Hàm x mod y là bán liên tục dưới khi y dương và bán liên tục trên khi y âm.
Khai triển chuỗi.
Các hàm chúng ta đang xét không liên tục, do đó chúng không có khai triển chuỗi lũy thừa. Các hàm floor và ceiling cũng không liên tục, vì vậy không thể có khai triển Fourier.
Với y cố định, hàm x mod y có thể được khai triển Fourier.
- Công thức Fourier của x mod y: x mod y = y/2 - (y/π) Σ (sin(2πkx/y))/k, với k từ 1 đến vô cùng.
Phần lẻ của x, ký hiệu {x} = x mod 1, có thể khai triển Fourier theo công thức: {x} = 1/2 - (1/π) Σ (sin(2πkx))/k, với k từ 1 đến vô cùng.
- Khai triển chuỗi Fourier của phần lẻ {x}.
Áp dụng công thức {x} = x − floor(x) và floor(x) = x − {x}, ta thu được.
- Công thức Fourier cho floor(x) là: floor(x) = x − 1/2 + (1/π) Σ (sin(2πkx))/k, với k chạy từ 1 đến vô cùng.
Ứng dụng của các công thức trên.
Phần lẻ của một số thực x được biểu diễn bởi {x}, là hàm răng cưa.
Hàm phần lẻ, ký hiệu {x}, là một hàm răng cưa và được định nghĩa bởi công thức trên.
- Phần lẻ của x được xác định bởi công thức: {x} = x − ⌊x⌋.
Với mọi giá trị của x,
- Dễ dàng nhận thấy rằng 0 ≤ {x} < 1 đối với mọi x.
Với x > 0 trong hệ thập phân, phần nguyên của x là phần bên trái dấu thập phân, trong khi phần lẻ là phần bên phải, khi thay tất cả các phần bên trái bằng 0.
Toán tử mod là phép toán tính phần dư khi chia hai số.
Toán tử mod, ký hiệu là x mod y, với x, y là các số thực và y khác 0, được xác định theo công thức:
- x mod y = x − y ⌊x/y⌋.
Giá trị của x mod y luôn nằm trong khoảng từ 0 đến y, tức là:
Khi y > 0,
- 0 ≤ x mod y < y.
Nếu y < 0,
- 0 ≥ x mod y > y.
Khi x là số nguyên và y là số nguyên dương,
- (x mod y) ≡ x (mod y).
Toán tử x mod y với y được định nghĩa là hàm răng cưa.
Định lý tương hỗ bậc hai
Chứng minh thứ ba của Gauss về định lý tương hỗ bậc hai, được chỉnh sửa bởi Eisenstein, gồm hai bước quan trọng.
Giả sử p và q là hai số nguyên tố lẻ khác nhau, và ta có công thức
- m = (p - 1) / 2, n = (q - 1) / 2.
Bước đầu tiên, ta áp dụng bổ đề Gauss để chứng minh rằng ký hiệu Legendre có thể tính được bằng các công thức sau.
- Biểu thức tương hỗ bậc hai giữa p và q
và
- Biểu thức tương hỗ bậc hai giữa p và q, với dấu âm được tính theo công thức sau
Bước hai là áp dụng lập luận hình học để chứng minh rằng tổng các giá trị này bằng tích m và n.
- Tổng các giá trị tương hỗ của p và q, bao gồm cả biểu thức đối xứng giữa chúng, bằng sản phẩm m nhân n.
Khi kết hợp các công thức trên, ta thu được biểu thức của luật tương hỗ bậc hai như sau
- Biểu thức tương hỗ bậc hai giữa p và q được tính bằng công thức: (-1)^(mn), trong đó m và n là các giá trị tính từ p và q.
Một số công thức biểu diễn sự tương hỗ bậc hai của các số nhỏ so với số nguyên tố lẻ p sử dụng hàm floor:
- Công thức tính tương hỗ bậc hai của 2 đối với p là: (-1)^{⌊(p+1)/4⌋}.
- Tương hỗ bậc hai của 3 đối với p được tính bằng công thức: (-1)^{⌊(p+1)/6⌋}.
Làm tròn
Cách làm tròn một số dương x đến số nguyên gần nhất có thể được thể hiện như sau: ⌊x + 0.5⌋.
Số lượng chữ số
Số chữ số của một số nguyên dương k trong hệ cơ số b được tính bằng công thức: ⌊log_b(k)⌋ + 1.
- Công thức tính số chữ số của k trong hệ cơ số b là: ⌊log_b(k)⌋ + 1.
Thừa số của giai thừa
Giả sử n là một số nguyên dương và p là một số nguyên tố. Lũy thừa của p trong phép khai triển của n! được tính theo công thức:
- Công thức tính lũy thừa của p trong n! là: ⌊n/p⌋ + ⌊n/p²⌋ + ⌊n/p³⌋ + ...
Lưu ý rằng tổng trên có giới hạn, với các hạng tử bằng 0 khi p > n.
Dãy Beatty
Dãy Beatty mô tả cách mỗi số vô tỉ dương có thể chia các số nguyên thành hai dãy thông qua hàm floor.
Hằng số Euler γ
Dưới đây là các công thức cho Hằng số Euler γ = 0.57721 56649..., bao gồm các hàm floor và ceiling, ví dụ như:
- Hằng số Euler γ có thể được biểu diễn dưới dạng: γ = ∫₁⁰ {1 / ⌊x⌋ - 1 / x} dx.
- Một công thức khác cho γ là: γ = lim (n → ∞) [1/n ∑ (k=1 to n) (⌈n/k⌉ - n/k)].
và
- Công thức sau đây biểu diễn Hằng số Euler γ dưới dạng chuỗi tổng vô hạn: γ = ∑ (k=2 đến ∞) (-1)^k * ⌊log₂(k)⌋ / k, với các số hạng có dạng 1/2 - 1/3 + 2(1/4 - 1/5 + 1/6 - 1/7) + 3(1/8 - ... - 1/15) + ...
Hàm Riemann ζ
Các công thức xác định số nguyên tố
Một số nguyên n được coi là số nguyên tố khi và chỉ khi nó chỉ có hai ước số, là 1 và chính nó.
- Tổng vô hạn sau đây tính giá trị của biểu thức: ∑ (m=1 đến ∞) (⌊n/m⌋ - ⌊(n-1)/m⌋) = 2.
Số nguyên r lớn hơn 1, và pn là số nguyên tố thứ n.
- Công thức sau mô tả một chuỗi vô hạn: α = ∑ (m=1 đến ∞) pₘ * r^(-m²).
Vậy
- Công thức tính số nguyên tố thứ n được cho bởi: pₙ = ⌊r^(n²) * α⌋ - r^(2n-1) * ⌊r^((n-1)²) * α⌋.
Số θ = 1.3064... có tính chất đặc biệt như sau:
- Các giá trị sau: ⌊θ³⌋, ⌊θ⁹⌋, ⌊θ²⁷⌋, ... đều là các số nguyên tố.
Số ω = 1.9287800... cũng tồn tại với các đặc tính sau.
Các giá trị tiếp theo là: ⌊2^ω⌋, ⌊2^(2^ω)⌋, ⌊2^(2^(2^ω))⌋, ...
- Những biểu thức trên cho thấy mối liên hệ chặt chẽ với số nguyên tố.
Tất cả đều là số nguyên tố.
π(x) là số lượng các số nguyên tố nhỏ hơn hoặc bằng x. Nó được chứng minh từ Định lý Wilson.
- π(n) được tính bằng tổng sau: ∑ (j=2 đến n) ⌊ ((j-1)!+1)/j ⌋ - ⌊ (j-1)!/j ⌋.
Nếu n ≥ 2, ta có thể áp dụng công thức π(n) trên.
- π(n) = ∑ (j=2 đến n) ⌊ 1 / ∑ (k=2 đến j) ⌊ ⌊ j/k ⌋ k/j ⌋ ⌋.
Không có công thức nào trong số này có thể ứng dụng thực tế.
Vấn đề đã được giải quyết.
Ramanujan đã gửi những bài toán sau đây tới Journal of the Indian Mathematical Society.
Cho n là số nguyên dương, chứng minh rằng:
- ⌊ n/3 ⌋ + ⌊ (n+2)/6 ⌋ + ⌊ (n+4)/6 ⌋ = ⌊ n/2 ⌋ + ⌊ (n+3)/6 ⌋.
- ⌊ 1/2 + √(n + 1/2) ⌋ = ⌊ 1/2 + √(n + 1/4) ⌋.
- ⌊ √n + √(n + 1) ⌋ = ⌊ √(4n + 2) ⌋.
Vấn đề vẫn chưa được giải quyết.
Có một số nguyên dương k thỏa mãn k ≥ 6, sao cho:
- 3^k - 2^k ⌊ (3/2)^k ⌋ > 2^k - ⌊ (3/2)^k ⌋ - 2 ?
Mahler đã chỉ ra rằng chỉ có một số hữu hạn giá trị của k như vậy, nhưng đến nay vẫn chưa xác định được các giá trị cụ thể của k.
- Hàm nguyên gần nhất.
- Truncation, một hàm tương tự khác.
- Hàm bước.
Chú thích.
- J.W.S. Cassels (1957). Giới thiệu về xấp xỉ Diophantine. Cambridge Tracts in Mathematics and Mathematical Physics. 45. Cambridge University Press.
- Crandall, Richard; Pomerance, Carl (2001), Số nguyên tố: Góc nhìn tính toán, New York: Springer, ISBN 0-387-04777-9
- Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren (1994), Toán học cụ thể, Reading Ma.: Addison-Wesley, ISBN 0-201-55802-5
- Hardy, G. H.; Wright, E. M. (1980), Giới thiệu lý thuyết số học (tái bản lần thứ 5), Oxford: Oxford University Press, ISBN 978-0198531715
- Nicholas J. Higham, Cẩm nang viết cho các ngành khoa học toán học, SIAM. ISBN 0898714206, tr. 25
- ISO/IEC. ISO/IEC 9899::1999(E): Ngôn ngữ lập trình — C (ấn bản 2), 1999; Mục 6.3.1.4, tr. 43.
- Iverson, Kenneth E. (1962), Một Ngôn ngữ Lập Trình, Wiley
- Lemmermeyer, Franz (2000), Định lý Đối xứng: từ Euler đến Eisenstein, Berlin: Springer, ISBN 3-540-66967-4
- Ramanujan, Srinivasa (2000), Các bài viết tập hợp, Providence RI: AMS / Chelsea, ISBN 978-0821820766
- Ribenboim, Paulo (1996), Sách Mới về Các Kỷ Lục Số Nguyên Tố, New York: Springer, ISBN 0-387-94457-5
- Michael Sullivan. Tiền giải tích, ấn bản thứ 8, tr. 86
- Titchmarsh, Edward Charles; Heath-Brown, David Rodney (1986), Lý thuyết hàm zeta Riemann (ấn bản thứ 2), Oxford: Oxford U. P., ISBN 0-19-853369-1
Các liên kết ngoài.
- Štefan Porubský, "Các hàm làm tròn số nguyên", Cổng thông tin tương tác về Toán học Thuật toán, Viện Khoa học Máy tính, Viện Hàn lâm Khoa học Cộng hòa Séc, Praha, Cộng hòa Séc, truy cập ngày 24/10/2008.
