Computer >> Máy Tính >  >> Lập trình >> C ++

Đếm các số chia hết cho ‘M’ trong một phạm vi nhất định trong C ++

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