Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
40 lines (32 sloc) 902 Bytes
<?php
//Порождение перестановок циклическим сдвигом для создания последовательности суперперестановок
$n=4;
$fact=24;
$perm="1234";
for ($i=1; $i != $fact+1; $i++) {
print $perm . "\n";
$mm = $i;
$m=$n;
while ($m > 0) {
if ($mm%$m==0) {
$mm /= $m--;
print ("-----\n");
}
else
{
//Обрежем и перевернем корневые - это хвост
$tail= strrev(substr($perm, 0, $n-$m+1));
//Обрежем хвост - это будут корневые
$head = substr($perm, $n-$m+1);
//склеим
$perm=$head.$tail;
//Вернемся в верхний цикл
continue 2;
}
}
//Циклический сдвиг
$sw=$perm[0];
for ($j=0; $j<$n-1; $j++) $perm[$j]=$perm[$j+1];
$perm[$n-1]=$sw;
}
?>
You can’t perform that action at this time.