|
|
|
| Короче надо сделать следующее:
имеется страница, на ней есть форма с кнопкой:
<form><input type=text size=50 name=word><input type=submit value=OK></form>
|
Ну так вот надо написать скрипт обработчик который выводит все возможные варианты данного слова . Например слово " БОЕЦ " - 4 символа => 24 варианта , и вот все эти 24 варианта надо вывести! Количество вариантов находиться по формуле : Pn = n! . Я написал код но он у меня выводит тока 4 варианта :(
еще проблема в том что я не знаю какой функцией можно найти ФАКТОРИАЛ ( " ! ")
вот код:
<form><input type=text size=50 name=word><input type=submit value=OK></form>
<?
if(!empty($word))
{
$len=24;
for($i=0; $i<$len; $i++)
{
$sim="";
for($j=0; $j<$len; $j++)
{
$sim .=substr($word, $j-$i, 1);
}
echo "$sim <br>";
}
$sd_var=$i;
$vs_var=факториал($len);
echo "<br><hr size=a color=blue width=100%><br>
Всего Символов : <b>$len</b><br>
Всего Вариантов : <b>$vs_var</b><br>
Сделано Вариантов : <b>$sd_var</b>";
}
?>
|
| |
|
|
|
|
|
|
|
для: ZooM (ССС)
(25.04.2006 в 18:23)
| | N! будет лишь в том случае, если все буквы в слове разные.
Факториал можно посчитать так:
<?
function factorial($num) {
for($prod = 1.0; $num > 1; --$num)
$prod *= $num;
return $prod;
}
echo factorial(4);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(25.04.2006 в 18:51)
| | Впринцепе да, ведь если введем "аааа" то и все 24 варианта будут "аааа" :)
Но предположим что все буквы разные! как сделать? | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(25.04.2006 в 19:01)
| | Примерно так.
<?php
function wordset($pref, $word)
{
static $n=0;
if(($len = strlen($word)) == 0)
echo ++$n . ". $pref<br>\r\n";
else for($i = 0; $i < $len; $i++)
{
$ch = $word[$i];
if($i + 1 < $len && strpos($word, $ch, $i+1) !== false)
continue;
$word1 = '';
if($i > 0) $word1 .= substr($word, 0, $i);
if($i +1 < $len) $word1 .= substr($word, $i+1);
wordset($pref.$ch, $word1);
}
}
wordset("", "БОЕЦ");
?>
|
Повторы тут убраны. | |
|
|
|