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

충분한 사탕을 줄 수 없는 사람을 찾는 C++ 코드

<시간/>

두 개의 숫자와 b가 있다고 가정합니다. Amal과 Bimal의 손에는 와 b개의 사탕이 있습니다. Amal은 Bimal에게 사탕 1개를 주고 Bimal은 Amal에게 사탕 2개를 주며 다음 차례에는 Amal이 3개, Bimal이 4개를 주는 식입니다. 어느 한 쪽이 제대로 된 양의 사탕을 주지 못하는 순간까지 계속됐다. 그들은 상대방에게서 받은 사탕을 자신의 것으로 여기지 않는다. 누가 먼저 사탕을 제대로 줄 수 없는지 찾아야 합니다.

따라서 입력이 =7과 같으면; b =6이면 출력은 Amal이 됩니다. 처음에 Amal은 1개, Bimal은 2개, Amal은 3개, Bimal은 4개를 주었으므로 이번에는 Amal이 사탕 5개를 주어야 하지만 4개만 있기 때문입니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

x := square root of a
if x * (x + 1) > b, then:
   return "Bimal"
Otherwise
   return "Amal"

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
string solve(int a, int b){
   int x = sqrt(a);
   if (x * (x + 1) > b)
      return "Bimal";
   else
      return "Amal";
   }
int main(){
   int a = 7;
   int b = 6;
   cout << solve(a, b) << endl;
}

입력

7, 6

출력

Amal