Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 강도 P로 죽일 수 있는 최대 사람 수

<시간/>

주어진 작업은 힘으로 죽일 수 있는 최대 사람 수를 찾는 것입니다. P. 무한한 사람이 있는 행을 고려하고 각 사람은 1부터 시작하는 색인 ​​번호를 갖습니다.

s 번째 의 강점 사람은 s 2 로 표시됩니다. . s의 힘을 가진 사람을 죽이면 당신의 힘도 s만큼 감소합니다.

이제 예제를 사용하여 무엇을 해야 하는지 이해합시다 -

입력

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() 함수에 강도와 passit을 저장하기 때문입니다.

  • Max() 함수에서 int 유형의 s =0 및 P =0을 초기화합니다.

  • j =1에서 j * j <=P

    까지 루프
  • s =s + (j * j)를 입력하고 s <=P이면 ans에 1을 더하고, 그렇지 않으면 break;

  • 반환합니다.

예시

#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