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

C++で強度Pで殺すことができる最大人数


与えられたタスクは、強さPで殺すことができる人の最大数を見つけることです。無限の人がいる列を考えてください。それぞれのインデックス番号は1から始まります。

s th の強さ 人はs 2 で表されます 。強さのある人を殺した後、あなたの強さも秒だけ減少します。

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

入力

P = 20

出力

3

説明

Strength of 1st person = 1 * 1 = 1 < 20, therefore 1st person can be killed.
Remaining strength = P – 1 = 20 – 1 = 19
Strength of 2nd person = 2 * 2 = 4 < 19, therefore 2nd person can be killed.
Remaining strength = P – 4 = 19 – 4 = 15
Strength of 3rd person = 3 * 3 = 9 < 15, therefore 3rd person can be killed.
Remaining strength = P – 9 = 15 – 9 = 6
Strength of 4th person = 4 * 4 = 16 > 6, therefore 4th person cannot be killed.
Output = 3

入力

30

出力

4

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

  • main()関数で、int型のP =30を初期化します。これは、強度とパスをMax()関数に格納するためです。

  • Max()関数で、int型のs=0とP=0を初期化します。

  • j=1からj*j <=P

    までループします
  • s =s +(j * j)を入力し、s <=Pの場合はansに1を加算し、それ以外の場合はブレークします。

  • 回答を返します。

#include <bits/stdc++.h>
using namespace std;
int Max(int P){
   int s = 0, ans = 0;
   for (int j = 1; j * j <= P; j++){
      s = s + (j * j);
      if (s <= P)
         ans++;
      else
         break;
   }
   return ans;
}
//main function
int main(){
   //Strength
   int P = 30;
   cout << “Maximum number of people that can be killed with strength P are: ”<<Max(P);
   return 0;
}

出力

Maximum number of people that can be killed with strength P are: 4

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