7세그먼트 표시의 ant number에서 N세그먼트를 사용하여 표시할 수 있는 최대 수를 찾는 작업이 주어집니다.
이제 예제를 사용하여 무엇을 해야 하는지 이해합시다 -
입력 - N=5
출력 − 71
설명 − 7세그먼트 디스플레이에 다음과 같이 가장 큰 숫자가 표시됩니다. −

입력 - N=6
출력 − 111

아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다.
-
다음 상황은 3가지 경우로 나눌 수 있습니다 -
-
사례 1 -
N이 0 또는 1이면 숫자를 표시할 수 없습니다.
-
사례 2 -
N이 홀수인 경우. 그러면 홀수 세그먼트로 표시할 수 있는 숫자는 2, 3, 5, 7, 8이며 이 중 7이 가장 적은 세그먼트 수, 즉 3을 차지합니다. 따라서 이 경우 7이 최상위 자리입니다.
-
사례 3 -
N이 짝수인 경우. 그러면 홀수 세그먼트로 표시할 수 있는 숫자는 0, 1, 4, 6, 9, 8이며 그 중 1이 가장 작은 세그먼트 수, 즉 2를 차지합니다. 따라서 이 경우 1이 최상위 숫자입니다. .
-
-
MaxNumber() 함수에서 먼저
를 사용하여 기본 조건을 확인합니다.if (N ==1 || N ==0)
-
그런 다음 다른 if 문을 사용하여 N이 짝수인지 확인합니다. 그렇다면 짝수일 때 최상위 자릿수인 "1"을 출력하고 여기에 2개의 세그먼트를 사용하고 있으므로 MaxNumber(N - 2)를 호출합니다.
-
다른 if 문을 사용하여 N이 홀수인지 확인하십시오. 그렇다면 홀수의 경우 최상위 자리인 "7"을 출력하고 여기서 3개의 세그먼트를 사용하고 있으므로 MaxNumber(N - 3)를 호출합니다.
예시
#include <iostream>
using namespace std;
void MaxNumber(int N){
//Condition to check base case
if (N == 1 || N == 0){
return;
}
//If the number is even
if (N % 2 == 0){
cout << "1";
MaxNumber(N - 2);
}
//If the number is odd
else if (N % 2 == 1){
cout << "7";
MaxNumber(N - 3);
}
}
//Main function
int main(){
int N;
N = 5;
MaxNumber(N);
return 0;
} 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
71