C ++中n人的m个团队中的最小和最大对数
问题陈述
竞赛的N名参赛者以某种方式分为M个团队,因此每个团队至少有一个参赛者。比赛结束后,来自同一团队的每对参与者都成为了朋友。
您的任务是编写一个程序,以查找到比赛结束时可能结成的最小对和最大对朋友。
算法
1. We can obtain max pairs using below formula: maxPairs = ((n – m) * (n – m + 1)) / 2 2. We can obtain min pairs using below formula: minPairs = m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m) % m);
示例
#include <iostream>
#include <cmath>
using namespace std;
void getPairs(int n, int m){
int maxPairs = ((n - m + 1) * (n - m)) / 2;
int minPairs = m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m) % m);
cout << "Minimum pairs = " << minPairs << "\n";
cout << "Maximum pairs = " << maxPairs << "\n";
}
int main(){
getPairs(3, 2);
return 0;
}输出结果
当您编译并执行上述程序时。它生成以下输出-
Minimum pairs = 1 Maximum pairs = 1
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短