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

十分なキャンディーを与えることができない人を見つけるためのC++コード


aとbの2つの数があるとします。アマルとビマルの手にはa個とb個のキャンディーがあります。アマルはビマルに1つのキャンディーを提供し、ビマルはアマルに2つのキャンディーを提供し、次のターンにアマルは3つのキャンディーを提供し、ビマルは4つのキャンディーを提供しました。これは、そのうちの1人が適切な量のキャンディーを与えることができなくなる瞬間まで続きました。彼らは、対戦相手から手に入れたキャンディーを自分たちのものとは見なしていません。最初に適切な量のキャンディーを与えることができないのは誰かを見つける必要があります。

したがって、入力がa=7のような場合。 b =6の場合、出力はAmalになります。これは、最初にAmalが1を与え、次にBimalが2を与え、次にAmalが3を与え、Bimalが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

  1. nラウンドゲームに勝った人を見つけるためのC++コード

    nラウンドの2人ゲームがあるとします。ラウンドのスコアは、各要素が{P1スコア、P2スコア}の形式である配列「スコア」で示されます。スコアの高いプレイヤーがラウンドに勝ち、さらにラウンドに勝った場合はプレイヤーがゲームに勝ちます。それ以外の場合は、引き分けとして宣言されます。したがって、スコアを考慮して、誰がゲームに勝ったかを確認する必要があります。 したがって、入力がn =4、スコア={{4、3}、{3、2}、{5、6}、{2、5}}の場合、出力はDrawになります。 ステップ これを解決するには、次の手順に従います- res := 0 while n is non-zero, do:

  2. バッテリーコンボの数を調べるためのC++コード

    最大5回使用できるバッテリーがn個あるとします。 3つのバッテリーを必要とするデバイスがいくつかあり、デバイスを使用するたびにバッテリーの使用数が1つ増えます。デバイスをk回使用する必要がある場合、デバイスに電力を供給するためにいくつのバッテリーの組み合わせを作成できるかを調べる必要があります。 2台の機器で同時に使用することはできません。また、5回使用した電池を含めることはできません。バッテリーの使用回数はアレイバットに記載されています。 したがって、入力がn =6、k =2、batt ={2、4、4、2、1、3}のような場合、出力は1になります。 k回デバイスに電力を供給するために作成