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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP