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
廣告