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)))

示例

让我们看看以下实现以更好地理解 -

Open Compiler
#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); }

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输入

8, 2

输出

3, 6, 9

更新于:30-3-2022

200 次浏览

开启您的 职业道路

通过完成课程获得认证

开始
广告