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