fork download
  1. <?php
  2.  
  3. $total=30;
  4. $skip=5;
  5. $survivors=7; // Видимо столько должно остаться
  6. $allPeople=array();
  7. $loosers=array();
  8. $winners=array();
  9.  
  10. function generateName()
  11. {
  12. $letters = array(
  13. 'ко', 'и', 'дзу', 'ми',
  14. 'са', 'ку', 'ра', 'да',
  15. 'чи', 'а', 'ки', 'ми',
  16. 'на', 'го', 'ха', 'ру'
  17. );
  18. $name = ' ';
  19. for ($i = 1; $i <= 4; $i++) {
  20. $random = array_rand($letters);
  21. $randomText = $letters[$random];
  22. $name=$randomText . $name;
  23. }
  24. return $name;
  25. }
  26.  
  27. for ($i=0;$i<$total;$i++){
  28. $newname=generateName();
  29. $allPeople[$i]=$newname;
  30. $cloneallPeople[$i]=$newname;
  31. }
  32. while ($survivors<(count($allPeople))){
  33. for ($i=0;$i<count($allPeople);){
  34. for($j=0; $j <$survivors+1;){
  35. if ($j==$skip){
  36. if (count($allPeople)<=$survivors){
  37. break;
  38. }
  39. $loosers[$i]=$allPeople[$i];
  40. unset($allPeople[$i]);
  41. sort($allPeople);
  42. $j=0;
  43. }
  44. else{
  45. $i++;
  46. if($i>count($allPeople)){
  47. $i=0;
  48. }
  49. $j++;
  50. }
  51. }
  52. }
  53. }
  54. $result = array_intersect($cloneallPeople, $allPeople);
  55. echo "Выигрышные места ".implode(", ", array_keys($result))."\n";
  56. echo "Остались пить чай с тортиком ".implode(", ", $result)."\n";
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
Выигрышные места 3, 9, 14, 15, 16, 17, 24
Остались пить чай с тортиком кунасаха , рунакочи , кусамими , иимира , рукукудзу , кираими , ручичиха