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

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


チェス盤のサイズを示す入力Nが与えられます。ここでのタスクは、Nの任意の値について、2人のビショップが互いに攻撃できないようにNXNチェス盤に配置できるビショップの数を見つけることです。例を挙げて理解しましょう。

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

入力 − n =2

出力 − N * Nチェス盤に配置できる最大のビショップ− 2(上記のように)

説明 −上に示したように、矛盾しない位置は司教が配置されている場所だけです。せいぜい2X2チェス盤のビショップ。

入力 − n =5

出力 − N * Nチェス盤に配置できる最大ビショップ:8(上記のように)

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

  • チェス盤の寸法の入力として整数値Nを取ります。

  • このNを引数としてtotalBishops(int n)に渡します。

  • N <1の無効な入力の場合、ビショップはカウント=0です。

  • N =1の場合、1ポジションのみ、ビショップカウント=1。

  • それ以外のビショップは2*(N-1)

    になります
  • この結果を可変ビショップに保存します。

  • 結果を返します。

#include <iostream>
//to return maximum bishops possible
int totalBishops(int n){
   int bishops=0;
   if (n < 1)
      bishops= 0;
   else if (n == 1)
      bishops= 1;
   else
      bishops= 2 * (n - 1);
   return bishops;
}
int main(){
   int N = 15; //for chessboard dimensions N*N
   printf("%d" ,totalBishops(N));
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

28

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

    与えられたタスクは、7セグメントディスプレイのant番号でNセグメントを使用して表示できる最大数を見つけることです。 例を使用して、私たちがしなければならないことを理解しましょう- 入力 − n =5 出力 − 71 説明 −最大数は7セグメントディスプレイに次のように表示されます- 入力 − n =6 出力 − 111 以下のプログラムで使用されるアプローチは次のとおりです 次の状況は3つのケースに分けることができます- ケース1 − Nが0または1の場合、数値を表示することはできません。 ケース2 − Nが奇数の場合。その場合、奇数

  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 出力