使用 N 段 C++ 實現七段顯示器上可以顯示的最大數字
給定的任務是找到在任意數量的七段顯示器上使用 N 段可以顯示的最大數字。
現在讓我們用一個例子來理解我們必須做什麼:
輸入 - N=5
輸出 - 71
解釋 - 七段顯示器上將顯示最大的數字如下:

輸入 - N=6
輸出 - 111

以下程式中使用的方案如下
以下情況可以分為三種情況:
情況 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”,因為它是偶數情況下的最重要數字,並呼叫 MaxNumber(N - 2),因為這裡使用了 2 個段。
使用另一個 if 語句檢查 N 是否為奇數。如果是,則列印“7”,因為它是奇數情況下的最重要數字,並呼叫 MaxNumber(N - 3),因為這裡使用了 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP