文档详情

选举策略Word文档

仙***
实名认证
店铺
DOC
82.50KB
约12页
文档ID:159392006
选举策略Word文档_第1页
1/12

摘要本论文解决在选举时提高个别候选人当选的概率,在客观条件相同的情况下,尽量降低人为因素造成选举的不公平,避免一些有能力的候选人落选,此问题只可以用概率的方法来解决,为了更加方便、直观地解决,我们决定选用计算机仿真的思想来解决这个问题关键词:概率分析 计算机仿真模拟 C++语言1.问题重述在评选各类先进人物时,经常涉及投票的问题一般各单位人员均倾向于本单位的候选人,领导也有一定的倾向性领导的倾向性跟一般成员有差异:当指标较少时,首先倾向于本单位,当指标相对多较多,会将其中的部分票投向其它单位成员当候选人条件完全相同的时候,这种倾向性就显得更重要 1.某次评优中,共有2个指标每个单位推荐2位候选人,然后从这8个人中通过投票选出2人投票人在票上本人同意的人名下书写数字1,2,表明支持这两个人,1优先,2次之,其余不填最后清点8个候选人所得数字之和,数字之和最小的两个候选人当选假定每位候选人条件相同,这两个指标很大可能落入哪些单位? 2.为了体现公平,要求每位投票者填写1个本单位人员,1位其它单位人员按照这种办法再估计一下选举结果这种办法是否提高了公平性 3.为了获得更大的希望,某个单位只推举1位候选人,你认为这种做法是否真的有利,能否对结果产生影响。

只考虑:1.单位甲推举1人,其它3个单位推举2人; 2.单位丙推举1人,其它3个单位推举2人 4.提出比较公正合理的选举办法 2.模型假设1.每个单位推选的候选人已经确定,且每个候选人情况相同;2.各部门普通职员不参与投票,仅有领导参与投票;3.在有条件投票方式下,领导必然将优先票投给本单位候选人,次优票投其他单位,且随机;4.对于题目中的空缺值,假设默认为“0”;5.投票是只涉及单位倾向,不考虑情感等方面的倾向;6.只是考虑选举人被选的概率,所以在一次选举中可能产生两位以上当选者3.符号说明按照题中要求的选举方式,从甲乙丙丁四个单位中分别选出两个候选人,共八个候选人,分别记作甲1 甲2 乙1 乙2 丙1 丙2 丁1 丁2:4.问题分析与模型建立通过对问题的初步分析,我们认为此问题可以用概率方法解决,但是为了更加方便、直观地解决,我们决定选用计算机仿真的思想来解决这个问题 按照问题一和问题二的投票方式,得出选举结果通过对结果的分析便可以解决这两个问题问题三中又提出一种选举方式,分析此方式,我们猜想它不会对候选人方太大影响,这个问题为问题四的解决提供了思路问题四中,我们猜想增加或减少候选人的人数来调整选举的公平性。

5.模型求解问题一 题中假定每位候选人条件相同,则认为单位领导会将票投给本单位候选人两名候选人谁得优先票谁得次优票是随机的通过MATLAB编程仿真,进行1000次模拟选举,根据第六条假设可知,可能产生2000人次以上的当选者 以下是五次模拟的结果 : 表1 以默认空缺为“0”的模拟结果候选人 1 0 0 3 1 566 557 941 9492 0 0 0 3 562 568 940 9413 0 0 2 2 582 516 942 9454 0 0 4 1 557 572 936 9375 0 0 2 1 565 553 930 923根据模拟仿真的结果,可以看出,若以空缺默认为“0”,在这1000次选举中,丙和丁单位当选要占很大一部分席位,当试验达到无穷次时,频率趋近于概率,所以丙丁单位当选的概率较大,两个指标最有可能落入丁单位和丙单位但是根据实际情况,受到支持少的候选人当选显然是不合理的,所以我们以空缺默认为“3”由进行了模拟,得到以下结果: 表2 以默认空缺为“3”的模拟结果候选人 1 993 992 38 41 0 0 0 02 992 994 26 41 0 0 0 03 991 991 38 43 0 0 0 04 997 994 38 29 0 0 0 05 995 991 40 43 0 0 0 0 若以空缺默认为“3”,则两个指标最有可能落在甲单位,还有极少可能落进乙单位,但是不会落在丙和丁单位。

问题二题二提出的方式,要求每位投票者填写1个本单位人员,1位其它单位人员,这种方式下,我们假设倾向本单位领导一定将优先票,也就是“1”,投给本单位的候选人,将次优票“2”投给其他单位人员,且投给哪个候选人是随机的得出的选举结果如下表: 表3 以题2投票方式、空缺值为“0”的选举结果候选人 1 223 241 329 335 366 359 440 4402 238 253 316 314 356 384 441 4273 256 238 334 341 401 369 430 4164 228 260 310 333 403 381 409 4095 219 230 302 322 395 388 438 409 从结果中我们可以看到,在假设4的基础下,甲单位和乙单位的当选次数大幅度提高,而丙单位和丁单位的的当选次数明显减少,并且趋于平均概率而且八位候选人每个人当选的概率也有很大程度的接近 显然,这种办法较大程度地提高了选举的公平性问题三 为了获得更大的希望,某个单位只推举1位候选人,分析此种推选对最后的投票结果有什么影响 首先,以甲单位只推选一位候选人参选为例进行分析。

若甲单位只推选一人,那么此候选人至少会的本单位领导的9个优先票,此时所记数字之和已经达到“9”了,而此人得到其他单位领导的次优票“2”的概率同其他人相同,所以此候选人所记的数字之后明显会大于其他人,当选机会自然降低了 我们用MATLAB编程仿真,模拟这种选举得到一下结果:表4 甲单位推选一人、以题2提出的选举方式投票结果候选人 1 4 388 389 453 436 454 4652 5 434 381 443 418 459 4543 7 399 384 450 418 440 4504 3 401 383 424 415 434 4695 5 419 373 415 447 445 463从表4中可以分析出,甲单位推选一位候选人时,当选概率明显不如问题二的那种推选方式高,这个模拟结果与我们前面的分析一致,即甲单位仅推选一个候选人,不仅不会提高本人的当选概率,反而不利于次候选人当选对丙推选一人的分析方法与分析甲推选一人的分析方法相似但是因为丙单位的领导人数不多,远小于甲单位的9人,所以丙单位的一位候选人至少只得到本单位领导的3张优先票“1”,即所记数字和为“3”,这个数字不会对此人当选产生很大影响,所以我们认为这种推选方法不会提高丙单位的当选概率,但是影响不大。

下面同样用MATLAB编程仿真来验证我们的分析结果如下表所示:表5 丙单位推选一人、以题2提出的选举方式投票结果候选人 1 345 356 398 410 262 460 4522 353 361 405 394 247 445 4473 337 351 392 400 225 463 4544 327 317 409 421 233 451 4525 350 362 381 377 246 453 483从表5中可以分析出,丙单位候选人的当选概率还是较大幅度下降,这与我们前面的分析基本吻合通过对甲和丙的分析我们可以看出,在问题二提出的投票方式下,某单位只推选一人时不会增大本单位候选人当选的希望,相反,一般情况下会产生不利的影响问题四在分析问题的过程中,我们结合席位分配原理来分配各单位候选人的人数,并且我们采用每位领导可投两票,其中必有一票要投给其他单位的候选人,而且这两票的效果是相同的,所以每得一票则记为“1”,最后将各候选人的得票相加,所得数字之和最大的请两位候选人当选上述方法中给出了投票方式,也给出了各单位候选人数量的分配方法,但是如何确定总候选人人数的方法并没有给出。

我们没有想到很好的方法来确定总候选人人数,所以我们只能用模拟的方法,分析在我们提出的投票方式的基础下,总候选人分别为“8、9、10、11”的公平程度我们认为,当选次数最多的候选人与当选次数最少的候选之间的差值最小的为最公平的总候选人取法 6.模型改进我们用Q值法进行席位分配,得到下表:表6 Q值法所得到的候选人分配数甲 乙 丙 丁8 3 2 2 19 4 2 2 110 4 3 2 111 4 3 2 2 我们按照类似图1的流程编写仿真程序,分别对以上四种分配方式进行仿真试验,并对结果进行分析,修正原订的选举方式 首先,对总候选人数为10时进行仿真,各单位推举的候选人分别为4、3、2、1得到三组数据,如下表:表7 总候选人数为10人下的当选情况1 276 293 291 295 385 342 352 352 379 3992 292 310 315 295 358 360 367 384 339 3713 295 302 282 290 351 390 364 342 337 381表7为总候选人为10人,分配方式为甲4人、乙3人、丙2人和丁1人分析表发现,甲单位候选的当选概率要小于其他单位,而其中丁单位候选人当选的次数又是最多的。

究其原因,甲单位推选的候选人数与领导人数之比小于丁单位,所以有必要对甲单位领导投本单位候选人的票的权限提高,对丁单位领导投本单位的候选人的票的权限限制,即修正方案为,甲单位领导投本单位的票记为“1.1”,而丁单位领导投本单位的票记为“0.9”,得到如下结果:表8 修正后的总候选人数为10人下的当选情况1 223 210 244 195 222 235 231 237 218 2212 226 228 209 206 237 245 239 228 213 2273 239 201 212 188 234 236 249 250 212 246表8中每位候选人的当选的次数已经非常接近,因为是经过上千次试验得到的结果,所以我们认为此时的频率已经是概率了,计算的到各候选人当选的概率向量,为(0.1018 0.0945 0.0984 0.0871 0.1025 0.1059 0.1063 0.1058 0.0951 0.1026),他们之间的差值非常小,我们认为这已经达到了公平选举的要求 再对总候选人数为8时进行仿真,各单位推举的候选人分别为3、2、2、1得到三组数据,如下表:表9 总候选人数为8人下的当选情况 1 256 250 241 336 272 261 268 3052 252 271 245 315 319 229 226 3243 256 253 263 324 287 244 235 337 这种情况下,8位候选人的当选次数虽有一些差距,但是差距较小,而且这种方法没有对投票领导的投票权限进行限定,应该说是公平中的一些不公平。

我们上面提出的修正方法,虽然最后结果非常接近,对候选人是非常公平的,但是这是建立在不公平基础上的公平综上,我们提出两种较为公平的选举投票方案:共推选10位候选人,其中甲单位4人、乙单位3人、丙单位2人、丁单位1人每位投人都有两张等效的票,记为“1”,其中一张必须投给其他单位的候选人,但还要做以下限定:甲单位投给本单位的票记为“1.1”,丙单位投给本单位的票记为“0.9”;共推选8位候选人,其中甲单位3人、乙单位2人、丙单位2人、丁单位1人每位投票人都有两张等效的票,记为“1”,其中一张必须投给其他单位候选人7.模型评价与推广 文中并没有用概率的方法来解决这个选举投票问题,主要是利用计算机仿真的思想来模拟题中给出的投票方式,通过多次模拟仿真得到选举结果,多上千的结果进行处理,分别得到每个候选人在这上千次的选举中有多少次当选,用当选次数来衡量选举的公平性模型的方法简单,思路明了,易于求解和分析结果,而且整个思维方式要比概率方法直观问题四中提出的两种推选投票方案对候选人来说是比较公平的选举的问题很复杂,必须考虑到人与人之间的各种关系,为了使建模方便一些,我们这里只是列出来了几个重要的影响因素,忽略了很多其它次要的因素。

我们直接是从每个单位里面总共八个人中去选的,没有考虑群众的参与,这一点也很遗憾这只是个理想化的思维方法,实用程度不高,这时最大的缺点参考文献[1]姜启源,《数学模型》(第三版),北京:高等教育出版社,2003[2]郭大伟,《数学建模》,安徽教育出版社,2009[3]郑丽敏,《Excel2007数据分析及其应用》,中国出版社,1993附录:题1,空为”0”#include#include #include #include int suiji(){ int n = 1; while (1) {srand(GetTickCount()); n = rand() % 2+1; return n; Sleep(100);} }main(){int i;for(i=1;i<5;i++) cishu();}int cishu(){int i,j,n,m,x,b[8]={0,0,0,0,0,0,0,0},a[2][8]={{0,1,2,3,4,5,6,7},{0,0,0,0,0,0,0,0}};int c[8]={0,0,0,0,0,0,0,0};int min;for(n=0;n<1000;n++){for(m=0;m<8;m++) b[m]=0;for(j=1;j<10;j++){a[1][0]=suiji();if(a[1][0]==1) a[1][1]=2; else a[1][1]=1;b[0]=b[0]+a[1][0];b[1]=b[1]+a[1][1];}for(j=1;j<7;j++){a[1][2]=suiji();if(a[1][2]==1) a[1][3]=2; else a[1][3]=1;b[2]=b[2]+a[1][2];b[3]=b[3]+a[1][3];}for(j=1;j<4;j++){a[1][4]=suiji();if(a[1][4]==1) a[1][5]=2; else a[1][5]=1;b[4]=b[4]+a[1][4];b[5]=b[5]+a[1][5];}for(j=1;j<3;j++){a[1][6]=suiji();if(a[1][6]==1) a[1][7]=2; else a[1][7]=1;b[6]=b[6]+a[1][6];b[7]=b[7]+a[1][7];}min=b[0];for(j=0;j<8;j++) {if(b[j]<=min) min=b[j];}for(i=0;i<8;i++) {if(b[i]==min) {c[i]++;b[i]=100;}}min=b[0];for(j=0;j<8;j++) {if(b[j]<=min) min=b[j];}for(i=0;i<8;i++){if(b[i]==min) c[i]++;}}printf("c[]=");for(j=0;j<8;j++) printf("%5d ",c[j]);printf("\n");}题1空为”3”(其余同上)int cishu(){int i,j,n,m,x,b[8]={0,0,0,0,0,0,0,0},a[2][8]={{0,1,2,3,4,5,6,7},{0,0,0,0,0,0,0,0}};int c[8]={0,0,0,0,0,0,0,0};int min;for(n=0;n<1000;n++){for(m=0;m<8;m++) b[m]=0;for(j=1;j<10;j++){{a[1][0]=suiji();if(a[1][0]==1) a[1][1]=2; else a[1][1]=1;b[0]=b[0]+a[1][0];b[1]=b[1]+a[1][1];}for(i=2;i<8;i++){a[1][i]=suiji;b[i]=b[i]+a[1][i];}for(i=2;i<8;i++){a[1][i]=3;b[i]=b[i]+a[1][i];}}for(j=1;j<7;j++){{a[1][2]=suiji();if(a[1][2]==1) a[1][3]=2; else a[1][3]=1;b[2]=b[2]+a[1][2];b[3]=b[3]+a[1][3];}for(i=0;i<2;i++){a[1][i]=3;b[i]=b[i]+a[1][i];}for(i=4;i<8;i++){a[1][i]=3;b[i]=b[i]+a[1][i];}}for(j=1;j<4;j++){{a[1][4]=suiji();if(a[1][4]==1) a[1][5]=2; else a[1][5]=1;b[4]=b[4]+a[1][4];b[5]=b[5]+a[1][5];}for(i=0;i<4;i++){a[1][i]=3;b[i]=b[i]+a[1][i];}for(i=6;i<8;i++){a[1][i]=3;b[i]=b[i]+a[1][i];}}for(j=1;j<3;j++){{a[1][6]=suiji();if(a[1][6]==1) a[1][7]=2; else a[1][7]=1;b[6]=b[6]+a[1][6];b[7]=b[7]+a[1][7];}for(i=0;i<6;i++){a[1][i]=3;b[i]=b[i]+a[1][i];}}题2(其余同上)int cishu(){int i,j,n,m,x=0,y,b[8]={0,0,0,0,0,0,0,0},a[2][8]={{0,1,2,3,4,5,6,7},{0,0,0,0,0,0,0,0}};int c[8]={0,0,0,0,0,0,0,0};int min;for(n=0;n<1000;n++){for(m=0;m<8;m++) b[m]=0;for(j=1;j<10;j++){a[1][0]=suiji();if(a[1][0]==1) a[1][1]=0; else a[1][1]=1;b[0]=b[0]+a[1][0];b[1]=b[1]+a[1][1];for(i=2;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=2;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}for(j=1;j<7;j++){a[1][2]=suiji();if(a[1][2]==1) a[1][3]=0; else a[1][3]=1;b[2]=b[2]+a[1][2];b[3]=b[3]+a[1][3];for(i=0;i<2;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=0;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=2;b[y]=b[y]+a[1][y];for(i=4;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}}}for(i=0;i<2;i++) x=x+a[1][i];if(x==0){for(i=4;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=4;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}}for(j=1;j<4;j++){a[1][4]=suiji();if(a[1][4]==1) a[1][5]=0; else a[1][5]=1;b[4]=b[4]+a[1][4];b[5]=b[5]+a[1][5];for(i=0;i<4;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=0;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];for(i=6;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}}} for(i=0;i<2;i++) x=x+a[1][i];if(x==0){for(i=6;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=6;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}}for(j=1;j<3;j++){a[1][6]=suiji();if(a[1][6]==1) a[1][7]=0; else a[1][7]=1;b[6]=b[6]+a[1][6];b[7]=b[7]+a[1][7];for(i=0;i<6;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=0;i<6;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}题3.1(其余同上)main(){int i;printf(" jia ; yi , yi ; bing, bing; ding, ding\n");for(i=1;i<5;i++)cishu();}int cishu(){int i,j,n,m,x=0,y,b[8]={0,0,0,0,0,0,0,0},a[2][8]={{0,1,2,3,4,5,6,7},{0,0,0,0,0,0,0,0}};int c[8]={0,0,0,0,0,0,0,0};int min;for(n=0;n<1000;n++){for(m=1;m<8;m++) b[m]=0;for(j=1;j<10;j++){a[1][0]=1;b[0]=b[0]+a[1][0];for(i=2;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=2;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}for(j=1;j<7;j++){a[1][2]=suiji();if(a[1][2]==1) a[1][3]=0; else a[1][3]=1;b[2]=b[2]+a[1][2];b[3]=b[3]+a[1][3];for(i=1;i<2;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=1;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=2;b[y]=b[y]+a[1][y];for(i=4;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}}}for(i=1;i<2;i++) x=x+a[1][i];if(x==0){for(i=4;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=4;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}}for(j=1;j<4;j++){a[1][4]=suiji();if(a[1][4]==1) a[1][5]=0; else a[1][5]=1;b[4]=b[4]+a[1][4];b[5]=b[5]+a[1][5];for(i=1;i<4;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=1;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];for(i=6;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}}} for(i=1;i<2;i++) x=x+a[1][i];if(x==0){for(i=6;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=6;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}}for(j=1;j<3;j++){a[1][6]=suiji();if(a[1][6]==1) a[1][7]=0; else a[1][7]=1;b[6]=b[6]+a[1][6];b[7]=b[7]+a[1][7];for(i=1;i<6;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=1;i<6;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}min=b[1];for(j=1;j<8;j++) {if(b[j]<=min) min=b[j];}for(i=1;i<8;i++) {if(b[i]==min) {c[i]++;b[i]=10000;}}min=b[1];for(j=1;j<8;j++) {if(b[j]<=min) min=b[j];}for(i=1;i<8;i++){if(b[i]==min) c[i]++;}}printf("c[]="); for(j=1;j<8;j++) printf("%5d ",c[j]); printf("\n");}题3-2(其余同上)main(){int i;printf(" jia, jia ; yi , yi ; bing ;ding, ding\n");for(i=1;i<5;i++)cishu();}int cishu(){int i,j,n,m,x=0,y,b[8]={0,0,0,0,0,0,0,0},a[2][8]={{0,1,2,3,4,5,6,7},{0,0,0,0,0,0,0,0}};int c[8]={0,0,0,0,0,0,0,0};int min;for(n=0;n<1000;n++){for(m=0;m<8;m++) b[m]=0;for(j=1;j<10;j++){a[1][0]=suiji();if(a[1][0]==1) a[1][1]=0; else a[1][1]=1;b[0]=b[0]+a[1][0];b[1]=b[1]+a[1][1];for(i=2;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=2;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}for(j=10;j<16;j++){a[1][2]=suiji();if(a[1][2]==1) a[1][3]=0; else a[1][3]=1;b[2]=b[2]+a[1][2];b[3]=b[3]+a[1][3];for(i=0;i<2;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=0;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=2;b[y]=b[y]+a[1][y];for(i=4;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}}}for(i=0;i<2;i++) x=x+a[1][i];if(x==0){for(i=4;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=4;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}}for(j=16;j<19;j++){a[1][4]=1;b[4]=b[4]+a[1][4];for(i=0;i<4;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=0;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];for(i=6;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}}} for(i=0;i<2;i++) x=x+a[1][i];if(x==0){for(i=6;i<8;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=6;i<8;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}}for(j=19;j<21;j++){a[1][6]=suiji();if(a[1][6]==1) a[1][7]=0; else a[1][7]=1;b[6]=b[6]+a[1][6];b[7]=b[7]+a[1][7];for(i=0;i<6;i++){a[1][i]=suiji();if(a[1][i]=2){y=i;for(i=0;i<6;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=2;b[y]=b[y]+a[1][y];}}}min=b[0];for(j=0;j<8;j++) {if(j!=5){if(b[j]<=min) min=b[j];}}for(i=0;i<8;i++) {if(j!=5){if(b[i]==min) {c[i]++;b[i]=10000;}}}min=b[0];for(j=0;j<8;j++) {if(j!=5){if(b[j]<=min) min=b[j];}}for(i=0;i<8;i++){if(j!=5){if(b[i]==min) c[i]++;}}}printf("c[]="); for(j=0;j<8;j++) {if(j!=5) printf("%5d ",c[j]);}printf("\n");}题四#include#include #include #include int suiji(){int n = 0; while (1) {srand(GetTickCount()); n = rand() % 2; return n; Sleep(100); }}main(){int i;for(i=1;i<5;i++)cishu();}int cishu(){int i,j,n,m,x=0,y,b[10]={0},a[2][10]={{0,1,2,3,4,5,6,7,8,9},{0,0,0,0,0,0,0,0,0,0}};int c[10]={0};int max;for(n=0;n<1000;n++){for(m=0;m<10;m++) b[m]=0;for(j=1;j<10;j++){for(i=0;i<4;i++) {a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=0;i<4;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=1;b[y]=b[y]+a[1][y];break;}}for(i=4;i<10;i++){a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=4;i<10;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=1;b[y]=b[y]+a[1][y];break;}}}for(j=1;j<7;j++){for(i=4;i<7;i++) {a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=4;i<7;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=1;b[y]=b[y]+a[1][y];break;}}for(i=0;i<4;i++) {a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=0;i<2;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=1;b[y]=b[y]+a[1][y];for(i=7;i<10;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];break;}}}for(i=0;i<4;i++) x=x+a[1][i];if(x==0){for(i=7;i<10;i++){a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=7;i<10;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=1;b[y]=b[y]+a[1][y];break;}}}}for(j=1;j<4;j++){for(i=7;i<9;i++) {a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=7;i<9;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=1;b[y]=b[y]+a[1][y];break;}}for(i=0;i<7;i++){a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=0;i<7;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];} a[1][y]=1;b[y]=b[y]+a[1][y];a[1][9]=0;b[9]=b[9]+a[1][9];break;}}for(i=0;i<7;i++) x=x+a[1][i];if(x==0){a[1][9]=1;b[9]=b[9]+a[1][9];}}for(j=1;j<3;j++){a[1][9]=1;b[9]=b[9]+a[1][9];}for(i=0;i<9;i++){a[1][i]=suiji();if(a[1][i]=1){y=i;for(i=0;i<9;i++) {a[1][i]=0;b[i]=b[i]+a[1][i];}a[1][y]=1;b[y]=b[y]+a[1][y];break;}}max=b[0];for(j=0;j<10;j++) if(b[j]>=max) max=b[j];for(i=0;i<10;i++) {if(b[i]==max) {c[i]++;b[i]=0;}}max=b[0];for(j=0;j<10;j++) if(b[j]>=max) max=b[j];for(i=0;i<10;i++) if(b[i]==max) c[i]++;}printf("c[]=");for(j=0;j<10;j++)printf("%2d ",c[j]);printf("\n");}。

下载提示
相关文档
正为您匹配相似的精品文档