使用 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; }
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
输出
如果我们运行以上代码,我们将得到以下输出:
71
广告