文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[算法题]约瑟夫(josephus)环的php玩法

[算法题]约瑟夫(josephus)环的php玩法

时间:2006-07-03  来源:一地风飞

[整理自喜悦国际村] 没有认真去看,只是觉得有意思,先收集整理一下,有空再消化一下..
原文地址:http://www.phpx.com/happy/thread-119916-1-2.html

约瑟夫(josephus)环是这样的:假设有n个小孩坐成一个环,假如从第一个小孩开始数,如果数到m个小孩,则该小该离开,问最后留下的小孩是第几个小孩?例如:总共有6个小孩,围成一圈,从第一个小孩开始,每次数2个小孩,则游戏情况如下:
小孩序号:1,2,3,4,5,6
离开小孩序号:2,4,6,3,1
最后获胜小孩序号:5

1)

=$n-1)
        {
            echo $a[$i];
            break 2;
        }
        // 移动数组下标
        $i++;
    }
}
?>2)
$i - 1, 'next' => $i + 1);
}
$arr[TOTAL_N]['next'] = 1;
$arr[1]['prev'] = TOTAL_N;
$key = 1;
$ct = 1;
while (true) {
    echo ('Current Key:' . $key . ' Next Key:' . $arr[$key]['next']);
    if ($ct == COUNT_M) {
        echo (' ...Current node deleted!');
        $ct = 0;
        $arr[$arr[$key]['prev']]['next'] = $arr[$key]['next'];
        $arr[$arr[$key]['next']]['prev'] = $arr[$key]['prev'];
    }
   
    $key = $arr[$key]['next'];
    $ct++;
    echo ('
');
   
    if ($key == $arr[$key]['next']) {
        $last = $key;
        break;
    }
}
echo ('The last key is ' . $last);
?>3)
1)
        {
                if($array[$i]==0) //当为0时表明该人没有出局
                    {
                        $s++;
                        if($s==$step)  //数的$step个人,让他出局
                            {
                                $array[$i]=$con;
                                $con--;
                                $s=0;
                                $exitChar.="$i-";
                                
                            }
                           
                    }
               
            if($i==$num)
                {
                    $i=1;   
                }
                else
                    {
                        $i++;
                    }
        
            
        }
echo "离开小孩序号:$exitChar n";
echo "留下小孩 :".array_search('0', $array);
?>4)
1)
    {
        for ($i = 0; $i 5)
6)
7)
1) {
  $i++;
  $x = array_shift($ar);
  if($i

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载