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

C++のチェス盤で奇数辺の長さの正方形を数えます


サイズ*サイズのチェス盤の寸法として入力として数値サイズを指定します。目標は、そのボードの内側に形成できる長さが奇数の正方形の数を見つけることです。

入力

size=3

出力

Count of squares with odd side length in Chessboard are: 10

説明

All squares will be as shown : and 1 whole square of size 3x3.

C++のチェス盤で奇数辺の長さの正方形を数えます

入力

size=4

出力

Count of squares with odd side length in Chessboard are: 20

説明

there will be 16, 1X1 squares. And 4, 3X3 squares inside it.

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

このアプローチでは、正方形の長さを1からサイズの長さまでトラバースします。奇数の長さごとに、カウントに(size-i-1)2を追加します。

  • チェス盤側の入力として整数サイズを取ります。

  • 関数square_odd_length(int size)はサイズを取り、チェス盤の奇数辺の長さの正方形の数を返します。

  • 初期カウントを0とします。

  • iの奇数値に対してi=1からi=サイズ増分2までトラバースします。

  • それぞれについて、temp =size-i+1を取ります。

  • カウントするtemp*tempを追加します。

  • 結果としてのforループリターンカウントの終了時。

#include <bits/stdc++.h>
using namespace std;
int square_odd_length(int size){
   int count = 0;
   for (int i = 1; i <= size; i = i + 2){
      int temp = size − i + 1;
      count = count + (temp * temp);
   }
   return count;
}
int main(){
   int size = 6;
   cout<<"Count squares with odd side length in Chessboard are: "<<square_odd_length(size);
   return 0;
}

出力

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

Count squares with odd side length in Chessboard are: 56

  1. C++で長方形の正方形の数を数える

    =Bとなるように、長さL、幅Bの長方形が与えられます。目標は、サイズLXBの長方形が収容できる正方形の数を見つけることです。 上の図は、サイズ3 X 2の長方形を示しています。2、2X2の正方形、6,1X1の正方形があります。 総正方形=6+ 2=8。 サイズLXBのすべての長方形には、1X1の正方形のL*B数があります。 最大の正方形のサイズはBXBです。 L =B =1の場合、正方形=1。 L =B =2の場合、正方形=1 + 4 =5(2X2の1、1X1の4) L =B =3の場合、正方形=1 + 4 + 9 =14(3X3の​​1、2X2の4、1

  2. C++で指定された辺の長さを持つn辺の正多角形の面積

    与えられた辺を持つn辺の正多角形の面積を見つけるためのこの問題では、図の面積の式を導き出し、それに基づいてプログラムを作成します。ただし、その前に、トピックを簡単に理解できるように基本を改訂しましょう。 N面の正多角形 は、すべての辺が等しいn辺の多角形です。たとえば、正五角形、正六角形など。 エリア は、任意の2次元図形の範囲を定量的に表したものです。 この図の面積を見つけるには、図内の個々の三角形の面積を見つけて、それが持つ辺の数を掛ける必要があります。 n面が与えられているので。 これで、上の図から、面積の数式を作成できます。 正多角形の各辺は、辺a(多角形の辺)と角度