Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Examples:
Bàn luậnCho hai số n và m. Nhiệm vụ là tìm thương số và phần còn lại của hai số bằng cách chia n cho m.Naive approach
Input: n = 10 m = 3 Output: Quotient: 3 Remainder 1 Input n = 99 m = 5 Output: Quotient: 19 Remainder 4[//] operator and remainder using the modulus [%] operator.
Example:
Python3
Phương pháp 1: Cách tiếp cận ngây thơ
Cách tiếp cận ngây thơ là tìm thương số bằng toán tử phân chia kép [//] và còn lại bằng toán tử mô đun [%].
Quotient: 3 Remainder 1 Quotient: 19 Remainder 49
Quotient: 3 Remainder 1 Quotient: 19 Remainder 47
Quotient: 3 Remainder 1 Quotient: 19 Remainder 48
Quotient: 3 Remainder 1 Quotient: 19 Remainder 49
a % b
0Quotient: 3 Remainder 1 Quotient: 19 Remainder 47
Quotient: 3 Remainder 1 Quotient: 19 Remainder 48
Quotient: 3 Remainder 1 Quotient: 19 Remainder 49
Quotient: 3 Remainder 1 Quotient: 19 Remainder 40
Quotient: 3 Remainder 1 Quotient: 19 Remainder 41
Quotient: 3 Remainder 1 Quotient: 19 Remainder 42
Quotient: 3 Remainder 1 Quotient: 19 Remainder 43
Quotient: 3 Remainder 1 Quotient: 19 Remainder 43
Quotient: 3 Remainder 1 Quotient: 19 Remainder 45
>>> 26 % 7
5
2>>> 26 % 7
5
3>>> 26 % 7
5
4>>> 26 % 7
5
5>>> 26 % 7
5
6>>> 26 % 7
5
2>>> 26 % 7
5
8>>> 26 % 7
5
4>>> 26%7
5
0>>> 26 % 7
5
6Output:
Quotient: 3 Remainder 1 Quotient: 19 Remainder 4
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
9
2a % b
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
1 Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
2
5a % b
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
5 O[1]
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
9Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
7Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
8
0>>> 26 % 7
5
1 O[1]>>> 26 % 7
5
Độ phức tạp về thời gian: O [1]Using divmod[] method
Không gian phụ trợ: O [1]
Example:
Python3
Phương pháp 2: Sử dụng phương thức divMod []
Quotient: 3 Remainder 1 Quotient: 19 Remainder 47
Quotient: 3 Remainder 1 Quotient: 19 Remainder 48
Quotient: 3 Remainder 1 Quotient: 19 Remainder 49
a % b
0Quotient: 3 Remainder 1 Quotient: 19 Remainder 47
Quotient: 3 Remainder 1 Quotient: 19 Remainder 48
>>> seconds= 137
>>> minutes, seconds= divmod[seconds, 60]
6>>> 26 % 7
5
1Phương thức divMod [] lấy hai số làm tham số và trả về tuple chứa cả thương số và phần còn lại.
Quotient: 3 Remainder 1 Quotient: 19 Remainder 47
Quotient: 3 Remainder 1 Quotient: 19 Remainder 48
Quotient: 3 Remainder 1 Quotient: 19 Remainder 49
a % b
0Quotient: 3 Remainder 1 Quotient: 19 Remainder 47
Quotient: 3 Remainder 1 Quotient: 19 Remainder 48
>>> seconds= 137
>>> minutes, seconds= divmod[seconds, 60]
6>>> 26 % 7
5
1Output:
Quotient: 3 Remainder 1 Quotient: 19 Remainder 4
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
9
2a % b
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
1 Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
2
5a % b
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
5 O[1]
Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
9Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
7Quotient: 3
Remainder 1
Quotient: 19
Remainder 4
8
0>>> 26 % 7
5
1 O[1]>>> 26 % 7
5
Làm thế nào tôi có thể tìm kiếm phần còn lại của một số trong Python?
Ví dụ: nếu số là 26 và số chia là 7, thì phần còn lại là 5. [vì 7+7+7 = 21 và 26-21 = 5.]
If the number is 26 and divided number is 7, then the division remainder is 5.
[since 7+7+7=21 and 26-21=5.]
Để kiểm tra tính phân chia đơn giản, hãy xem làm thế nào để bạn kiểm tra xem một số có chia hết cho một số khác không ?.
Karl Knechtel
59.3k10 Huy hiệu vàng86 Huy hiệu bạc130 Huy hiệu đồng10 gold badges86 silver badges130 bronze badges
Hỏi ngày 7 tháng 4 năm 2011 lúc 16:44Apr 7, 2011 at 16:44
1
Bạn đang tìm kiếm toán tử modulo:
a % b
Ví dụ:
>>> 26 % 7
5
Tất nhiên, có lẽ họ muốn bạn tự thực hiện nó, điều này cũng không quá khó khăn.
wjandrea
25.1k8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges
Đã trả lời ngày 7 tháng 4 năm 2011 lúc 16:45Apr 7, 2011 at 16:45
Uku loskituku loskitUku Loskit
39,9k9 Huy hiệu vàng88 Huy hiệu bạc92 Huy hiệu Đồng9 gold badges88 silver badges92 bronze badges
2
Phần còn lại của một bộ phận có thể được phát hiện bằng cách sử dụng toán tử
a % b
5:>>> 26%7
5
Trong trường hợp bạn cần cả thương số và modulo, có chức năng
>>> 26%7
5
4 tích hợp:>>> seconds= 137
>>> minutes, seconds= divmod[seconds, 60]
Đã trả lời ngày 1 tháng 5 năm 2011 lúc 11:49May 1, 2011 at 11:49
Tzottzottzot
89.5K29 Huy hiệu vàng138 Huy hiệu bạc201 Huy hiệu đồng29 gold badges138 silver badges201 bronze badges
0
from math import remainder
print[remainder[26,7]]
6 [bạn sẽ nhận được phần còn lại]from math import remainder
print[remainder[26,7]]
7 [bạn sẽ nhận được Divisor, có thể là giá trị nổi]from math import remainder
print[remainder[26,7]]
8 [bạn sẽ nhận được Divisor, chỉ có giá trị số nguyên]
wjandrea
25.1k8 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng8 gold badges53 silver badges73 bronze badges
Đã trả lời ngày 17 tháng 3 năm 2016 lúc 22:14Mar 17, 2016 at 22:14
1
Nếu bạn muốn có được thương số và phần còn lại trong một dòng mã [Usecase tổng quát hơn], hãy sử dụng:
quotient, remainder = divmod[dividend, divisor]
#or
divmod[26, 7]
Đã trả lời ngày 21 tháng 2 năm 2019 lúc 4:44Feb 21, 2019 at 4:44
Alok Nayakalok NayakAlok Nayak
2.27221 Huy hiệu bạc28 Huy hiệu đồng21 silver badges28 bronze badges
1
Từ Python 3.7, có chức năng
from math import remainder
print[remainder[26,7]]
9 mới:from math import remainder
print[remainder[26,7]]
Output:
-2.0 # not 5
Lưu ý, như trên, nó không giống như
a % b
5.Trích dẫn tài liệu:
Math.Remainder [x, y]remainder[x, y]
Trả lại phần còn lại theo kiểu IEEE 754 của X đối với y. Đối với hữu hạn x và hữu hạn khác Y, đây là sự khác biệt x - n*y, trong đó n là số nguyên gần nhất với giá trị chính xác của x / y. Nếu x / y nằm chính xác giữa hai số nguyên liên tiếp, số nguyên gần nhất được sử dụng cho n. Phần còn lại r = phần còn lại [x, y] do đó luôn thỏa mãn abs [r]
Các trường hợp đặc biệt theo IEEE 754: Cụ thể, phần còn lại [x, math.inf] là x cho bất kỳ x hữu hạn nào và phần còn lại [x, 0] và phần còn lại [math.inf, x] tăng giá trịerror cho bất kỳ nan x. Nếu kết quả của hoạt động còn lại bằng không, số 0 đó sẽ có cùng dấu với x.
Trên các nền tảng sử dụng điểm nổi nhị phân của IEEE 754, kết quả của hoạt động này luôn có thể thể hiện chính xác: không có lỗi làm tròn được đưa ra.
Vấn đề29962 mô tả cơ sở lý luận để tạo chức năng mới.
Đã trả lời ngày 11 tháng 1 năm 2018 lúc 14:28Jan 11, 2018 at 14:28
Chris_RandsChris_RandsChris_Rands
36.6K13 Huy hiệu vàng79 Huy hiệu bạc110 Huy hiệu đồng13 gold badges79 silver badges110 bronze badges
1
Nếu bạn muốn tránh modulo, bạn cũng có thể sử dụng kết hợp bốn hoạt động cơ bản :]
Quotient: 3 Remainder 1 Quotient: 19 Remainder 40
Đã trả lời ngày 14 tháng 7 năm 2013 lúc 3:07Jul 14, 2013 at 3:07
Alysalysalys
3213 Huy hiệu bạc10 Huy hiệu đồng3 silver badges10 bronze badges
Sử dụng % thay vì / khi bạn chia. Điều này sẽ trả lại phần còn lại cho bạn. Vì vậy, trong trường hợp của bạn
Quotient: 3 Remainder 1 Quotient: 19 Remainder 41
Đã trả lời ngày 7 tháng 4 năm 2011 lúc 16:47Apr 7, 2011 at 16:47
CodewarioCodewariocodewario
17.9K19 Huy hiệu vàng84 Huy hiệu bạc148 Huy hiệu đồng19 gold badges84 silver badges148 bronze badges
Chúng ta có thể giải quyết điều này bằng cách sử dụng toán tử Modulus [%]
26 % 7 = 5;
Nhưng 26/7 = 3 vì nó sẽ cung cấp cho thương số nhưng % toán tử sẽ đưa ra phần còn lại.
Đã trả lời ngày 10 tháng 2 năm 2018 lúc 19:20Feb 10, 2018 at 19:20
1
Modulo sẽ là câu trả lời chính xác, nhưng nếu bạn thực hiện nó theo cách thủ công thì điều này sẽ hoạt động.
Quotient: 3 Remainder 1 Quotient: 19 Remainder 42
Đã trả lời ngày 7 tháng 4 năm 2011 lúc 17:25Apr 7, 2011 at 17:25
CooperCooperCooper
6693 Huy hiệu bạc9 Huy hiệu Đồng3 silver badges9 bronze badges
1
Bạn có thể tìm thấy phần còn lại bằng ví dụ về toán tử modulo
Quotient: 3 Remainder 1 Quotient: 19 Remainder 43
Nó sẽ in 4
mischva11
2.7093 huy hiệu vàng16 Huy hiệu bạc32 Huy hiệu đồng3 gold badges16 silver badges32 bronze badges
Đã trả lời ngày 15 tháng 4 năm 2020 lúc 7:50Apr 15, 2020 at 7:50
1
Nếu bạn muốn phần còn lại của vấn đề bộ phận của mình, chỉ cần sử dụng các quy tắc còn lại thực tế, giống như trong toán học. Cấp này sẽ không cung cấp cho bạn một đầu ra thập phân.
Quotient: 3 Remainder 1 Quotient: 19 Remainder 44
Nếu bạn muốn thực hiện điều này ở định dạng máy tính, chỉ cần thay thế
-2.0 # not 5
1 bằng -2.0 # not 5
2. Làm tương tự với -2.0 # not 5
3, nhưng rõ ràng là các VAIR khác nhau.Đã trả lời ngày 19 tháng 10 năm 2017 lúc 0:33Oct 19, 2017 at 0:33
1
Dưới đây là phiên bản số nguyên của phần còn lại trong Python, sẽ cho kết quả tương tự như toán tử "%" của C:
Quotient: 3 Remainder 1 Quotient: 19 Remainder 45
Kết quả dự kiến:
Quotient: 3 Remainder 1 Quotient: 19 Remainder 46
Đã trả lời ngày 19 tháng 3 năm 2021 lúc 2:18Mar 19, 2021 at 2:18
Bạn có thể xác định một hàm và gọi nó còn lại với 2 giá trị như REM [Số1, Number2] trả về Number1%Number2 sau đó tạo một thời gian và đặt nó thành true sau đó in ra hai đầu vào cho chức năng giữ số 1 và 2 sau đó in [REM [Số 1, Số 2]
Đã trả lời ngày 25 tháng 6 năm 2020 lúc 11:52Jun 25, 2020 at 11:52
1