(Edited the formula as suggestion of @rogp10)
Nếu yêu cầu chỉ là đếm số lượng các phần tử chia hết cho 9 trong khoảng từ A đến B, thì mình có thể áp dụng công thức luôn chứ không cần lặp để đếm, và công thức có thể áp dụng cho một số N nguyên dương bất kỳ chứ không hẳn phải là 9.
R = (B / N - A / N) + (A % N == 0);
Ví dụ:
N = 1, range [5, 10]
=> R = 10 / 1 - 5 / 1 + 1 = 6
N = 2, range [5, 10]
=> R = 10 / 2 - 5 / 2 + 0 = 3
int CountNumbersDivideByN(int A, int B, int N)
{
return (B / N - A / N) + (A % N == 0);
}
(Vì phép chia số nguyên kiểu int trong máy tính khác với phép chia trong toán học nên không thể rút gọn biểu thức thành (B - A) / N được nha)