十分なキャンディーを与えることができない人を見つけるための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
-
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:
-
バッテリーコンボの数を調べるためのC++コード
最大5回使用できるバッテリーがn個あるとします。 3つのバッテリーを必要とするデバイスがいくつかあり、デバイスを使用するたびにバッテリーの使用数が1つ増えます。デバイスをk回使用する必要がある場合、デバイスに電力を供給するためにいくつのバッテリーの組み合わせを作成できるかを調べる必要があります。 2台の機器で同時に使用することはできません。また、5回使用した電池を含めることはできません。バッテリーの使用回数はアレイバットに記載されています。 したがって、入力がn =6、k =2、batt ={2、4、4、2、1、3}のような場合、出力は1になります。 k回デバイスに電力を供給するために作成