Cách nào tốt nhất để tìm hiểu xem phân chia của hai số sẽ trả về phần còn lại? Ví dụ: tôi có một mảng với các giá trị {3,5,7,8,9,17,19}. Bây giờ tôi cần phải tìm ước số hoàn hảo của 51 từ mảng trên. Có cách nào đơn giản hơn để giải quyết vấn đề này không?Làm thế nào để tìm phần còn lại của một bộ phận trong C?
Trả lời
Bạn có thể sử dụng toán tử %
để tìm phần còn lại của một bộ phận, và so sánh kết quả với 0
.
Ví dụ:
if (number % divisor == 0)
{
//code for perfect divisor
}
else
{
//the number doesn't divide perfectly by divisor
}
Mô-đun và lời nhắc khác với số âm: http://stackoverflow.com/questions/13683563/whats-the-difference-between-mod-and-remainder – calandoa
điểm tốt, nhưng tôi không thấy cách thay đổi séc Đối với phân chia hoàn hảo –
Câu trả lời là phù hợp với câu hỏi, nhưng C là rất mờ về mối quan hệ giữa%, modulo và phần còn lại của nhà khai thác, và tuyên bố của bạn chỉ là một chút không chính xác, vì vậy tôi chỉ cần thêm một liên kết để làm rõ điểm này. – calandoa
Sử dụng toán tử mô đun %
, nó trả về phần còn lại.
int a = 5;
int b = 3;
if (a % b != 0) {
printf("The remainder is: %i", a%b);
}
@Joey - tại sao bạn xóa ví dụ này? – MByD
Tôi đã không; Tôi vừa sửa lỗi đánh máy và thêm ký hiệu toán tử. Có thể là các chỉnh sửa đồng thời đã bị xung đột ở đây. SO thậm chí còn kém hơn so với MediaWiki. I E. khi tôi đang chỉnh sửa nó, tôi chỉ nhìn thấy một câu và không nhận được một thông báo hoặc trên sửa đổi đồng thời. Xin lỗi:/ – Joey
Lời xin lỗi của tôi ... Tôi nghĩ rằng bạn đã có một số vấn đề với ví dụ của tôi ... Và cảm ơn! – MByD
Tất cả các câu trả lời ở trên là chính xác. Chỉ cần cung cấp tập dữ liệu của bạn để tìm số chia hoàn hảo:
#include <stdio.h>
int main()
{
int arr[7] = {3,5,7,8,9,17,19};
int j = 51;
int i = 0;
for (i=0 ; i < 7; i++) {
if (j % arr[i] == 0)
printf("%d is the perfect divisor of %d\n", arr[i], j);
}
return 0;
}
OP có lẽ nên làm rõ liệu 3 hoặc 9 có nên được coi là ước số hoàn hảo trong những trường hợp đó hay không. Tôi giả định 9 bởi vì nếu không thì không có điểm nào trong đó. Trong trường hợp đó, bạn cần lặp lại theo thứ tự ngược lại. – tinman
- 1. Làm thế nào để tìm phần còn lại của một bộ phận trong Ruby?
- 2. Làm thế nào để một luồng.Thread mang lại phần còn lại của lượng tử trong Python?
- 3. Làm thế nào để bạn làm modulo hoặc phần còn lại trong Erlang?
- 4. Nhận bộ phận của một NSURL trong Objective-C
- 5. Làm thế nào để tìm ra thời gian còn lại của một setTimeout()
- 6. php/regex: Cách thay thế một phần của mẫu tìm thấy, nhưng để phần còn lại như cũ?
- 7. Sơn trong một phần của JPanel mà không cần sơn lại phần còn lại
- 8. Làm thế nào để bạn có được int và modulo (mod) của bộ phận với một NSDecimalNumber
- 9. Bộ khởi động phần còn lại trong Visual Studio 2010
- 10. Làm cách nào để tăng các bộ phận số nhân?
- 11. Làm thế nào để bạn chỉ thiết lập một số bit của một byte trong C mà không ảnh hưởng đến phần còn lại?
- 12. Làm thế nào để tùy chỉnh một cột và hiển thị còn lại trong activeadmin
- 13. PHP, Làm thế nào để bắt một bộ phận bằng không?
- 14. tổng bộ phận của numpy.array
- 15. in phần còn lại của các trường trong awk
- 16. Làm thế nào để tìm địa chỉ kết thúc của một hàm trong một prog C?
- 17. FOS bó phần còn lại: không thể tìm thấy mẫu
- 18. Làm thế nào để biến một bộ phận thành một sự thay đổi bitwise khi sức mạnh của hai?
- 19. Làm cách nào để thêm một bộ phận giả trong VS 2012 Professional RC?
- 20. HTML CSS Phần còn lại của không gian
- 21. Làm thế nào để bạn tách NSString thành các bộ phận cấu thành?
- 22. FileStream và StreamWriter - Làm thế nào để cắt bớt phần còn lại của tập tin sau khi viết?
- 23. Cách hiệu quả nhất để tìm kiếm nguyên tố tiếp theo trong một bộ phận
- 24. Div để chiếm toàn bộ chiều rộng còn lại
- 25. Làm thế nào để đặt trước bộ nhớ cho ứng dụng của tôi và để lại một số tiền nhất định còn lại?
- 26. số Parsing Điện thoại đến các bộ phận của họ
- 27. thời gian Ước tính còn lại trong C++ 11
- 28. Cột Rightmost của một DataGridView có thể lấp đầy phần còn lại của biểu mẫu như thế nào?
- 29. Làm cách nào để tìm ra dung lượng bộ nhớ còn trống trong GNU C++ trên Linux
- 30. Làm thế nào để làm cho một linearlayout lấp đầy không gian còn lại trong một relativelayout?
Tôi tìm phạm vi '{3,5,7,8,9,17,19}' khá đáng ngờ. Nó * gần như * có vẻ như bạn đang sử dụng số nguyên tố ở đây, nhưng 8 không phải là số nguyên tố và 11 và 13 bị thiếu ... – DarkDust