Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 구현하는 버즈 넘버(Buzz Number) 판별 프로그램

이 글에서는 주어진 양의 정수 'n'이 버즈 넘버(Buzz Number)인지 아닌지를 판별하고, 그 결과를 출력하는 C++ 프로그램을 다룹니다.

버즈 넘버(Buzz Number)란?

어떤 수가 버즈 넘버가 되려면 아래 두 조건 중 하나라도 참이어야 합니다.

  • 숫자가 7로 끝나야 합니다. 예: 27, 657 등

  • 숫자가 7로 나누어 떨어져야 합니다. 예: 63, 49 등

입력 및 출력 예시

입력

number: 49

출력

it's a buzz number

설명 − 49는 7로 나누어 떨어지므로 버즈 넘버입니다.

입력

number: 29

출력

it's not a buzz number

설명 − 29는 7로 나누어 떨어지지 않고, 7로 끝나지도 않으므로 버즈 넘버가 아닙니다.

프로그램의 접근 방식

  • 조건을 확인할 숫자를 입력받습니다.

  • 해당 숫자가 7로 끝나는지, 또는 7로 나누어 떨어지는지 검사합니다.

  • 조건이 참이면 "버즈 넘버입니다"를 출력합니다.

  • 조건이 거짓이면 "버즈 넘버가 아닙니다"를 출력합니다.

알고리즘

Start
Step 1→ 숫자가 버즈 넘버인지 확인하는 함수 선언
    bool isBuzz(int num)
       return (num % 10 == 7 || num % 7 == 0)
Step 2→ main() 함수에서
    int num = 67 선언
    IF (isBuzz(num))
       "its a buzz Number\n" 출력
    End
    Else
       "its not a buzz Number\n" 출력
    End
Stop

구현 예제 코드

#include <cmath>
#include <iostream>
using namespace std;
// 버즈 넘버 여부를 확인하는 함수
bool isBuzz(int num){
    return (num % 10 == 7 || num % 7 == 0);
}
int main(){
    int num = 67;
    if (isBuzz(num))
        cout << "its a buzz Number\n";
    else
        cout << "its not a buzz Number\n";
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

its a buzz Number

코드 설명

핵심 로직은 isBuzz() 함수에 있습니다. num % 10 == 7은 숫자의 일의 자리가 7인지 확인하는 연산이고, num % 7 == 0은 숫자가 7로 나누어 떨어지는지 확인하는 연산입니다. 논리 OR(||) 연산자를 사용하므로 두 조건 중 하나만 만족해도 true를 반환하여 해당 수가 버즈 넘버임을 알려줍니다. 예제에서 사용된 67은 일의 자리가 7이므로 버즈 넘버로 판별됩니다.