Heim > Backend-Entwicklung > PHP-Tutorial > 求教数字随机排列不重复的有关问题

求教数字随机排列不重复的有关问题

WBOY
Freigeben: 2016-06-13 12:05:40
Original
1104 Leute haben es durchsucht

求教数字随机排列不重复的问题
用1、2、3、4这四个数字随机排列,比如这样的:
2,1,3,2,4,3,1,3,4,1,3,4,2,3,4,1,3,4,2,4
共20位,相邻两个数不要重复,如3,3
该怎么写函数啊?
------解决方案--------------------
这个意思?

$a = array(1,2,3,4);<br />$b = array_merge($a, $a, $a, $a, $a);<br /><br />for($i=0; $i<1000; $i++) {<br />  shuffle($b);<br />  if(! preg_match('/(.)\1/', join('', $b))) printf("%d %s\n", $i, join('', $b));<br />}
Nach dem Login kopieren

------解决方案--------------------
<?php <br />	$a=array();<br />	function check(){<br />		global $a;<br />		$count=count($a)-1;<br />		if ($count >= 1 && $a[$count] == $a[$count-1]) {<br />			$a[$count]=mt_rand(1,4);<br />			check();<br />		}<br />	}<br />	for ($i=0; $i < 20; $i++) { <br />		$a[$i]=mt_rand(1,4);<br />		check();<br />		echo $a[$i]."<br />";<br />	}<br />?>
Nach dem Login kopieren

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage