公平席位分配的比例+惯例法和Q值法
来源:互联网 发布:socket编程语言 编辑:程序博客网 时间:2024/04/29 11:26
#include<iostream>#include<cmath>#define N 50using namespace std;int main() //比例+惯例法{int n[N], p[N], nsum, sum1, sum, m, i, j, k, r;float c[N];sum = 0;sum1 = 0;j = 0;cout << "please enter m n" << endl;cin >> m >> nsum;cout << "please enter pi " << endl;for (i = 0;i < m;i++)cin >> p[i];for (i = 0;i < m;i++)sum = sum + p[i];for (i = 0;i < m;i++) n[i] = floor(((float)p[i] / sum)*nsum);for (i = 0;i < m;i++)sum1 = sum1 + n[i];k = nsum - sum1;for (i = 0;i < m;i++)c[i] = ((float)p[i] / sum)*nsum - n[i];for (r = 0;r < k;r++)for (i = 0;i < m;i++)if (c[i] > c[j])j = i;n[j]++;c[j] = 0;for (i = 0;i < m;i++)cout << n[i] << endl;return 0;}
#include<iostream>#include<cmath>#define N 50using namespace std;int main() //Q值法{int n[N],p[N],nsum,sum1,sum,m,i,j; float q[N];sum=0;sum1=0;j=0;cout<<"please enter m n"<<endl;cin>>m>>nsum;cout<<"please enter pi "<<endl;for(i=0;i<m;i++)cin>>p[i];for(i=0;i<m;i++)sum=sum+p[i];for(i=0;i<m;i++)n[i]=floor(((float)p[i]/sum)*nsum);for(i=0;i<m;i++)sum1=sum1+n[i];for(;sum1<nsum;sum1++){for(i=0;i<m;i++)q[i]=(float)(p[i]*p[i])/(n[i]*(n[i]+1)); for(i=0;i<m;i++)if(q[i]>q[j])j=i;n[j]++;}for(i=0;i<m;i++)cout<<n[i]<<endl;return 0;}
0 0
- 公平席位分配的比例+惯例法和Q值法
- 席位分配问题——惯例Q值法和d'hondt法的MATLAB程序
- 公平的席位分配
- 公平的席位分配数学模型 程序实现
- D3D资源分配惯例
- D3D资源分配惯例
- java多线程的公平锁和非公平锁
- Java中ReentrantLock的公平锁和非公平锁
- ReentrantLock的公平锁和非公平锁
- cloudstack修改主存储的超分配比例和模板大小
- Java解决数学建模之席位分配问题
- 公平调度和容量调度的区别
- 命名惯例和规范
- ISA标准和惯例
- 命名惯例和规范
- netstat的Recv-Q和Send-Q
- 寄存器的使用惯例和调用过程的栈
- CIO如何获得更高的席位?
- TortoiseGit保存用户名密码
- live555 RTSP服务器建立及消息处理流程
- CentOS/Linux 开放80、8080端口或者开放某个端口
- Ridge Regression岭回归
- 用SQLServer 2014 还原数据库
- 公平席位分配的比例+惯例法和Q值法
- 深入理解操作系统虚拟内存
- Eclipse中出现Type 'xxxx' could not be resolved的处理方法
- RTP RTCP 客户端接收RTSP中媒体数据
- 空格字符和空字符的区别
- 百度地图地理编码接口
- haml
- linux服务器端口查看的方法
- 高仿微信发起群聊添加联系人界面