分礼物算法
1、把7个礼物分给三个小朋友,每个小朋友都必须分到礼物,一共有多少种不同的分法?
先从7个中选三个每个小朋友一个:A(3)7=210种
剩余的4个礼物,每个都有3种选择:3^4=81种
总分法=210*81=17010种
2、排列组合:将5件不同的礼物全部分给甲乙丙丁4人,且每人至少有1件礼物,有多少种不同的分法?
先将5件不同的礼物分成4堆,每堆至少有1件礼物,至多2件礼物,有专C(5,2)=10种分法,属然后针对每种分法,分给甲乙丙丁4人,即4的全排列:P(4,4)24,所以共有:24X10=240种不同的分法。
3、一共有6件相同的礼物分成4份,一共有多少种分法?
一共有八种分法内:容
0 0 0 6
0 0 1 5
0 0 2 4
0 0 3 3
0 1 1 4
0 1 2 3
1 1 1 3
1 1 2 2
4、三个人同时分3种礼物几种分法?
如果是保证每人1个话,一共有6种方法。
比如:有三个人分别是甲乙丙。三个礼物分别为ABC。
甲→A,乙丙分BC,有两种。
甲→B,乙丙分AC,有两种。
甲→C,乙丙分AB,有两种。
一共就是六种!
5、快手礼物分数加成怎么算的
比例为每3分兑换1毛现金。
一块币的礼物是三分,点一个赞是一分,每人点赞只能给一次。目前的快手兑换比例为每3分可以兑换1毛现金。用户充值的话,100块钱可以获得1000积分,主播可以获得积分收益的40%,快手官方则要拿60%,以1000分为例。
6、关于礼物分配算法
#include<iostream>
using namespace std;
int main()
{
cout << "请输入n"<<endl;
int n;
cin>>n;
int *pn=new int[n];//输入礼物个数
float *pValue = new float[n]; //礼物价值
float *pValue1 = new float[n];//第一个人的礼物价值
float *pValue2 = new float[n];//第二个人的礼物价值
cout << "输入价值" <<endl;
for (int i = 0; i < n ; i ++) //将所有的值存起来
{
cin >> pValue[i];
}
int row1 = 0;
int row2 = 0;
float fvalue1 = 0;
float fvalue2 = 0;
for (int j = 0; j < n ; j ++)
{
if (fvalue1 <= fvalue2)
{
pValue1[row1] = pValue[j];
fvalue1 += pValue1[row1];
row1 ++;
}
else
{
pValue2[row2] = pValue[j];
fvalue2 += pValue2[row2];
row2 ++;
}
}
cout <<"第一个"<< fvalue1 << endl;
cout <<"第二个"<< fvalue2 << endl;
delete[] pn;
delete[] pValue;
delete[] pValue1;
delete[] pValue2;
pn = NULL;
pValue = NULL;
pValue1 = NULL;
pValue2 = NULL;
return 0;
}