Chúng ta có ba số A, B và M. A và B xác định phạm vi [A, B] của các số. Mục tiêu là đếm các số giữa A và B chia hết cho M.
Chúng ta sẽ bắt đầu từ i =A cho đến bội số đầu tiên của M. Số lượng tăng dần nếu i% M =0. Bây giờ tăng tôi cho đến khi tôi <=số lượng tăng băng tần.
Hãy cùng hiểu với các ví dụ.
Đầu vào
A=11,B=20, M=5
Đầu ra
Count of numbers divisible by M in given range: 2
Giải thích
15 và 20 chỉ là những số chia hết cho 5 và nằm trong khoảng [11,20].
Đầu vào
A=20, B=50, M=11
Đầu ra
Count of numbers divisible by M in given range: 3
Giải thích
22,33,44 chỉ là những số chia hết cho 11 và nằm trong khoảng [20,50].
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
- Chúng tôi coi A, B và M là các số nguyên.
- Hàm chia hết M (int a, int b, int m) lấy A, B và M làm tham số và trả về tổng số các số giữa A và B chia hết cho M.
- Lấy số lượng ban đầu là 0.
- Sử dụng vòng lặp for, bắt đầu từ i =A đến i =B. Tăng i lên 1.
- Nếu i% m =0, số gia tăng.
- Cuối cùng, tính là các số giữa A và B chia hết cho m.
- Kết quả là số lượt trả lại.
Ví dụ
// Program to count the numbers divisible by // M in a given range #include <bits/stdc++.h> using namespace std; int divisiblebyM(int a, int b, int m){ int count = 0; // Running a loop from A to B and check // if a number is divisible by M. for (int i = a; i <= b;i++ ){ if (i % m == 0){ count++; } } return count; } int main(){ // A and B define the range, M is the dividend int A = 3, B = 15, M = 4; cout<<"Numbers divisible by M in given range:"<<divisiblebyM(A, B, M) << endl; return 0; }
Đầu ra
Numbers divisible by M in given range:3