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