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

C++에서 X로 나눌 수 있지만 Y로 나눌 수 없는 범위 1에서 N의 숫자를 셉니다.

<시간/>

숫자 N이 제공됩니다. 목표는 Y가 아닌 X로 나눌 수 있고 [1,N] 범위에 있는 숫자를 찾는 것입니다.

예를 들어 이해합시다.

입력

N=20 X=5 Y=20

출력

Numbers from 1 to N divisible by X not Y: 2

설명

Only 5 and 15 are divisible by 5 and not 10.

입력

N=20 X=4 Y=7

출력

Numbers from 1 to N divisible by X not Y: 5

설명

Numbers 4, 8, 12, 16 and 20 are divisible by 4 and not 7.

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

  • 정수 N을 취합니다.

  • 함수 divisibleXY(int x, int y, int n)는 Y가 아닌 X로 나눌 수 있는 1부터 N까지의 숫자 개수를 반환합니다.

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

  • for 루프를 사용하여 숫자 범위를 탐색합니다. i=1 ~ i=n

  • 이제 각 숫자 i에 대해 ( i%x==0 &&i%y!=0 ), 실제 증가 횟수인지 확인하십시오.

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

예시

#include <bits/stdc++.h>
using namespace std;
int divisibleXY(int x, int y, int n){
   int count = 0;
   for (int i = 1; i <= n; i++) {
      if(i%x==0 && i%y!=0 )
         { count++; }
   }
   return count;
}
int main(){
   int N = 100;
   int X=6, Y=8;
   cout <<"Numbers from 1 to N which are divisible by X and not Y: "<< divisibleXY(X,Y,N);
   return 0;
}

출력

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

Numbers from 1 to N which are divisible by X and not Y: 12