이 글에서는 주어진 양의 정수 '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이므로 버즈 넘버로 판별됩니다.