做网站的北京,淘宝客如何做网站,用asp.net做网站的书,wordpress菜单锚点定位无意间看到的一种实现抢红包的方法#xff0c;于是用C实现了一下。 将一个红包分成 n 份 具体的思路是#xff0c;将一个红包看作是一个线段#xff0c;线段的长就是红包总金额#xff0c;然后在这个线段上随机切 n-1 刀#xff0c;分成 n 份#xff0c;然后抢红包的人依…无意间看到的一种实现抢红包的方法于是用C实现了一下。 将一个红包分成 n 份 具体的思路是将一个红包看作是一个线段线段的长就是红包总金额然后在这个线段上随机切 n-1 刀分成 n 份然后抢红包的人依次来取即可。
#include iostream
#include vector
#include set
#include random
#include ctime
using namespace std;vectorint wechatredmoney(int money, int count) {vectorint res;if (money 0 || count 0) {return res;}default_random_engine e;e.seed(time(nullptr));setint s;for (int i0; icount-1; i) {auto index e() % money;if (index 0 || s.count(index)) {i--;} else {s.insert(index);}}int front 0;for (auto iter s.begin(); iter ! s.end(); iter ) {res.push_back(*iter - front);front *iter;}res.push_back(money - front);return res;
}int main() {auto moneys wechatredmoney(100, 10);for (const auto x: moneys) {cout x endl;}return 0;
}关注我的公众号