C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でNセグメントを使用して7セグメントディスプレイに表示できる最大数


与えられたタスクは、7セグメントディスプレイのant番号でNセグメントを使用して表示できる最大数を見つけることです。

例を使用して、私たちがしなければならないことを理解しましょう-

入力 − n =5

出力 − 71

説明 −最大数は7セグメントディスプレイに次のように表示されます-

C++でNセグメントを使用して7セグメントディスプレイに表示できる最大数

入力 − n =6

出力 − 111

C++でNセグメントを使用して7セグメントディスプレイに表示できる最大数

以下のプログラムで使用されるアプローチは次のとおりです

  • 次の状況は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

  1. C++でN*Nチェス盤に配置できる最大のビショップ

    チェス盤のサイズを示す入力Nが与えられます。ここでのタスクは、Nの任意の値について、2人のビショップが互いに攻撃できないようにNXNチェス盤に配置できるビショップの数を見つけることです。例を挙げて理解しましょう。 入力 − n =2 出力 − N * Nチェス盤に配置できる最大のビショップ− 2(上記のように) 説明 −上に示したように、矛盾しない位置は司教が配置されている場所だけです。せいぜい2X2チェス盤のビショップ。 入力 − n =5 出力 − N * Nチェス盤に配置できる最大ビショップ:8(上記のように) 以下のプログラムで使用されているアプローチは次のとおりで

  2. C++で直角二等辺三角形に収まる正方形の最大数

    与えられたタスクは、底辺が「s」の二等辺三角形の中に収まる、辺が「a」の正方形の最大数を見つけることです(二等辺三角形には少なくとも2つの等しい辺があります)。 例を使用して、私たちがしなければならないことを理解しましょう: 入力 s=5, a=1 出力 10 説明 −基数の平方数は、sをaで割り、1を引くことで計算できます。したがって、基数の平方数=5/1 – 1 =4 同様に、下の4つの正方形を配置すると、base(s-a)の新しい二等辺三角形が得られます。次に同じ手順を繰り返して3つの正方形を取得し、1つの正方形が上に配置されるまで続けます。 入力 s=7, a=2 出力