세 개의 숫자 A,B,M이 주어집니다. A와 B는 숫자의 범위 [A,B]를 정의합니다. 목표는 A와 B 사이에서 M으로 나누어 떨어지는 숫자를 세는 것입니다.
i=A에서 M의 첫 번째 배수까지 시작합니다. i%M=0인 경우 카운트를 증분합니다. 이제 i<=대역 증가 카운트가 될 때까지 i를 증가시킵니다.
예를 들어 이해합시다.
입력
A=11,B=20, M=5
출력
Count of numbers divisible by M in given range: 2
설명
15와 20은 5로 나누어 떨어지고 범위 [11,20]에 있는 숫자일 뿐입니다.
입력
A=20, B=50, M=11
출력
Count of numbers divisible by M in given range: 3
설명
22,33,44는 11로 나누어지고 범위 [20,50]에 있는 숫자일 뿐입니다.
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
- A,B 및 M을 정수로 간주합니다.
- M으로 나눌 수 있는 함수(int a, int b, int m)는 A,B 및 M을 매개변수로 사용하고 A와 B 사이에서 M으로 나눌 수 있는 숫자의 개수를 반환합니다.
- 초기 카운트를 0으로 합니다.
- for 루프를 사용하여 i=A에서 i=B로 시작합니다. i를 1씩 증가시킵니다.
- i%m=0이면 카운트를 증가시킵니다.
- 마지막에 A와 B 사이의 m으로 나누어 떨어지는 수로 계산합니다.
- 결과로 카운트를 반환합니다.
예시
// 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; }
출력
Numbers divisible by M in given range:3