C++ 程式碼以查詢競賽中不同的獲勝者和非獲勝者的數量
假設我們有兩個數字 n 和 k,競賽中有 n 個學生。一些將收到紀念品,一些將獲得證書,而另一些則不會收到任何東西。收到物品的人被稱為贏家。但有一些規則用於計算紀念品和證書的數量。證書的數量必須恰好比紀念品的數量大 k 倍。獲勝者數量不得超過 n/2。獲獎者數量也可能為 0。我們必須根據這些規則確定儘可能多的獲勝者數量。然後計算帶紀念品的的學生數量、帶證書的學生數量和未獲獎的學生數量。
因此,如果輸入為 n = 18;k = 2,則輸出為 [3, 6, 9]。
步驟
為解決這個問題,我們將遵循以下步驟 -
x := (n / 2) / (1 + k) return x, (k * x) and (n - (x + (k * x)))
示例
讓我們看看以下實現以更好地理解 -
#include <bits/stdc++.h> using namespace std; void solve(int n, int k){ int x = (n / 2) / (1 + k); cout << x << ", " << (k * x) << ", " << (n - (x + (k * x))); } int main(){ int n = 18; int k = 2; solve(n, k); }
輸入
8, 2
輸出
3, 6, 9
廣告