Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 범위에 있는 두 숫자의 공배수 개수

<시간/>

두 개의 숫자 A와 B가 제공됩니다. 또한 숫자 범위를 정의하기 위해 두 개의 숫자 START와 END가 제공됩니다. Ath 타일에는 흰색 페인트가 있고 Bth 타일에는 검정색 페인트가 있습니다. 타일을 흑백으로 칠하면 회색으로 바뀝니다. 목표는 회색 타일의 총 개수를 찾는 것입니다.

START에서 END까지 숫자를 순회하여 이 작업을 수행하고 각 숫자에 대해 숫자가 A와 B의 배수인지 확인합니다. 그렇다면 숫자를 증가시킵니다.

예를 들어 이해합시다.

입력

START=10 END=20 A=3 B=6

출력

Common multiples of A and B ( grey tiles ): 2

설명

Numbers 12, 18 are multiples of 3 and 6.

입력

START=1 END=100 A=10 B=11

출력

Common multiples of A and B ( grey tiles ): 0

설명

No common multiple of 10 and 11 in range.

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.

  • 범위 변수로 정수 START 및 END를 사용합니다.

  • A와 B를 두 개의 변수로 간주합니다.

  • 함수 countGrey(int start, int end, int a, int b)는 범위 변수 a, b를 취하여 및 b의 배수의 개수를 반환합니다.

  • 이러한 숫자에 대해 초기 변수 개수를 0으로 간주합니다.

  • for 루프를 사용하여 숫자 범위를 탐색합니다. i=시작에서 i=끝

  • i%a==0 &&i%b==0인 경우. 그러면 'i'는 와 b의 배수입니다.

  • 모든 루프의 끝에서 count는 'a'와 'b'의 배수인 총 숫자를 갖게 됩니다.

  • 카운트를 결과로 반환합니다.

예시

#include <bits/stdc++.h>
using namespace std;
int countGrey(int start, int end, int a, int b){
   int count = 0;
   for (int i = start; i <= end; i++){
      if(i%a==0 && i%b==0) //tile is grey
         { count++; }
   }
   return count;
}
int main(){
   int START =10, END = 30;
   int A=4, B=3;
   cout <<"Common multiples of A and B ( grey tiles ): "<<
   countGrey(START,END, A, B);
   return 0;
}

출력

위의 코드를 실행하면 다음 출력이 생성됩니다 -

Common multiples of A and B ( grey tiles ): 2