买回来100个苹果,假设一共有10个弟弟妹妹,如何给弟弟妹妹合理公平的分配苹果,使得他们不吵不闹不打架。
要求:
- 每个人最少得有一个苹果,不然没有分到苹果的小朋友可能会不开心
- 为了保证公平,每个人分到苹果的概率要相等,不能偏袒任何一方
- 苹果必须得分完,不能留着
用0~9来表示10个弟弟妹妹,那么为了保证每人至少一个苹果,先给他们一人一个苹果“保底”,然后再开始给他们随机分配,
你一个……我一个……
#include <iostream>
#include <time.h>
using namespace std;
int main() {
int a[10]= {1,1,1,1,1,1,1,1,1,1,};
int rest = 100 - 10;
srand((unsigned int) (time(NULL)));
while (rest != 0) {
int i = rand() % 10;
a[i]++;
rest--;
}
for (int j = 0; j < 10; ++j) {
cout << a[j] << " ";
}
return 0;
}
嗯……公正合理。