fork(1) download
  1. <?php
  2. /*
  3. 저작권자
  4. -MX패밀리(http://m...content-available-to-author-only...y.ml)
  5. 도움
  6. -kmb패밀리
  7.  
  8. 기본구조
  9. 배열값을 이용한 확률뽑기(Percent_draw 함수)
  10. 각 단계별 Percent_draw 함수의 값이 1이 나오면 랭킹상승 성공,0이 나오면 실패
  11. 1 나오면 배열 오른쪽값이고 0이면 왼쪽값이니깐.......
  12. */
  13. $times=100; //매직브러시 뽑기 횟수
  14. $sum = 0; //매직브러시 뽑는데 사용한 A팔레트 개수의 합
  15. $values_1 = [45,55]; //A아마랭킹 10위 or 5위 확률
  16. $values_2 = [60,40]; //A아마랭킹 5위 or 3위 확률
  17. $values_3 = [67,33]; //A아마랭킹 3위 or 1위 확률
  18. $values_4 = [80,20]; //A아마랭킹 1위 or S프로랭킹 10위 확률
  19. $values_5 = [55,45]; //S아마랭킹 10위 or 5위 확률
  20. $values_6 = [74,26]; //S아마랭킹 5위 or 3위 확률
  21. $values_7 = [89.5,10.5]; //S아마랭킹 3위 or 1위 확률
  22. $values_8 = [95.5,4.5]; //S아마랭킹 1위 or 애직 브러쉬 확률
  23. do{
  24. $i=$i+1; //매직브러시 한번 뽑을때 마다 1추가
  25. //A아마랭킹 10위 or 5위
  26. do{
  27. $index = Percent_draw($values_1,1);
  28. $sum++; //한번 팔레트 썼으니 누적
  29. if($index==1){
  30. break;
  31. }
  32. }while(true);
  33. //A아마랭킹 5위 or 3위
  34. do{
  35. $index = Percent_draw($values_2,1);
  36. $sum++;
  37. if($index==1){
  38. break;
  39. }
  40. }while(true);
  41. //A아마랭킹 3위 or 1위
  42. do{
  43. $index = Percent_draw($values_3,1);
  44. $sum++;
  45. if($index==1){
  46. break;
  47. }
  48. }while(true);
  49. //A아마랭킹 1위 or S프로랭킹 10위
  50. do{
  51. $index = Percent_draw($values_4,1);
  52. $sum++;
  53. if($index==1){
  54. break;
  55. }
  56. }while(true);
  57. //S아마랭킹 10위 or 5위(여기서 부터 팔레트 3개씩 사용)
  58. do{
  59. $index = Percent_draw($values_5,1);
  60. $sum++;
  61. $sum++;
  62. $sum++;
  63. if($index==1){
  64. break;
  65. }
  66. }while(true);
  67. //S아마랭킹 5위 or 3위
  68. do{
  69. $index = Percent_draw($values_6,1);
  70. $sum++;
  71. $sum++;
  72. $sum++;
  73. if($index==1){
  74. break;
  75. }
  76. }while(true);
  77. //S아마랭킹 3위 or 1위
  78. do{
  79. $index = Percent_draw($values_7,1);
  80. $sum++;
  81. $sum++;
  82. $sum++;
  83. if($index==1){
  84. break;
  85. }
  86. }while(true);
  87. //S아마랭킹 1위 or 매직브러시 뽑음 ㅋ
  88. do{
  89. $index = Percent_draw($values_8,1);
  90. $sum++;
  91. $sum++;
  92. $sum++;
  93. if($index==1){
  94. break;
  95. }
  96. }while(true);
  97.  
  98. }while($i<$times);
  99. echo "매직브러시 ".$i."회 뽑기 평균값 : ".$sum/$i;
  100.  
  101. function Percent_draw($percent_list,$decimal) {
  102. //$percentlist : 뽑을확률,밑 $contents_list 하고 배열순서에 맞게 넣어야만 함
  103. //$decimal : 확률 소숫점 자리수,자연수면 0 그외 소수면 소수점 자리수에 맞게 넣는다.
  104. $range_now = 0;
  105. $range_last = 0;
  106. $draw = rand(1,pow(10,$decimal)*array_sum($percent_list));
  107. for($i=0; $i<count($percent_list); $i++) {
  108. $range_now += pow(10,$decimal)*$percent_list[$i];
  109. if($range_now >= $draw && $range_last < $draw) {
  110. return $i;
  111. }else{
  112. $range_last = $range_now;
  113. }
  114. }
  115. }
  116. ?>
Success #stdin #stdout #stderr 0.02s 24720KB
stdin
Standard input is empty
stdout
매직브러시 100회 뽑기 평균값 : 119.49
stderr
PHP Notice:  Undefined variable: i in /home/cTAPYa/prog.php on line 24