All pastes #732304 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-10 21:07 UTC
rendered paste body
<?php

	get_every_possibility('abc');
	
	function get_every_possibility($string, $max = 5) {
	
		$strlen = strlen($string);
		$done = false;
		$length = 1;
		$i = 0;
	
		$posses = array();
		$posses[] = 0;
	
		while($length <= $max) {
	
			$str = '';
			
			foreach($posses as $v) {
				
				$str .= $string[$v];
					
			}
			
			if(strlen($str) == $length) {
	
				echo $str . chr(10);
				
			}
			
			if($posses[$length - 1] < $strlen) {
	
				$posses[$length - 1]++;
				
			}
	
			else {
					
				$done1 = false;
				$j = $length - 1;
	
				while(!$done1) {
						
					if($j < 0) {                   
	
						$posses[0] = $posses[$length] = 0;
							
						$length++;
						$done1 = true;
	
					}
	
					elseif($posses[$j] >= $strlen) {
						
						$posses[$j--] = 0;	
	
					}
	
					else {
	
						$posses[$j]++;
							
						$done1 = true;
						continue 1;
						
					}
	
				}
	
			}
			
	
		}
	
	}

?>