管理员

方法一


/**
 * $a个人围成一个圈,编号重1到$a,重$k号开始报数,凡是是$b的倍数的就站出来,最后剩下的人为 quan1($a,$b) 号
 * @param $a 个人
 * @param $b 倍数
 *
 * */
function quan1($a,$b,$k){
	$e=$a;
	$i=1;
	$c='';
	$d=$k;
	while(1){
		if($d>$a){
			$d=1;
		}
		if(!strstr($c," $d ")){
			if(is_int($i/$b)){
				$e--;
				$c.=' , '.$d.' ';
				if($e==0){
					return $c;
				}
			}
			$i++;
		}
		$d++;
	}
}


方法二



function quan2($a,$b,$k) {  
    $r=0;
    for($i=1; $i<=$a; $i++) {
        $r=($r+$b)%$i;
    }
    $r=($r+$k)%$a; 
    if($r==0)
    $r=$a;
    return $r;
}


退伍军人

退伍军人:2121

2012-10-30 09:05:31回复

管理员
管理员

用标签标记世界,从此变得简单

[ 添加关注 ] [ 发私信 ]

京ICP备12040723号 关于易寻 联系我们 手机版