C++ 程式碼查詢誰無法提供足夠的糖果
假設我們有兩個數字 a 和 b。阿瑪爾和比馬爾手中有 a 和 b 顆糖果。阿瑪爾給了比馬爾一顆糖果,比馬爾給了阿瑪爾兩顆糖果,下一輪阿瑪爾給了 3 顆糖果,比馬爾給了 4 顆,以此類推。一直這樣下去,直到他們中的一人無法給對手適當數量的糖果時為止。他們不會將從對手那裡得到的糖果視為自己的。我們必須找出誰是第一個無法給對手適當數量的糖果的人。
所以,如果輸入類似於 a = 7;b = 6,那麼輸出將是 Arnal,因為最初 Arnal 給了一顆,Bimal 給了兩顆,然後 Arnal 給的三顆,Bimal 給的 4 顆,現在在這個回合中 Arnal 必須給 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP