Задачки по PHP

4.46K
.
(\/)____o_O____(\/)
aNNiPAk, в экселе тоже мощный vbscript
.
The Frontend-Warrior
# reaper (24.09.2015 / 23:00)
Тут недавно нормальная такая задачка была, с которой даже я не до конца справился.
Есть строка. Нужно найти все возможные комбинации регистра символов.
Например для строки abc:
abc
Abc
aBc
abC
Я видел её.

Вот мой велосипед через рекурсию

<?php
  
$word = 'a#()dbc';

F($word);

function F($word) {
  $word = strtolower($word);
  reqF($word);
}

function reqF($word, $pos = 0) {
  if( $pos > strlen($word)-1 ){
    echo $word . '<br>';
    return; 
  } 
  if( !is_letter($word[$pos]) ){
    reqF($word, $pos+1);
    return;
  }
  reqF($word, $pos+1);
  $word[$pos] = chr( ord($word[$pos]) - 32 );
  reqF($word, $pos+1);
}

function is_letter($letter) {
  return ('a' <= $letter && $letter <= 'z');
}
.
Мой велосипед, на скорую руку
function strSplit( $string, $key, $length = 1 )
{
    if ( $length <= 0 )
    {
        $length = 1;
    }
    $strSplit = str_split(strtolower($string), $length);
    if ( $key >= 0 && (count($strSplit) - 1) >= $key )
    {
        $strSplit[$key] = '<b>' . strtoupper($strSplit[$key]) . '</b>';
    }

    return $strSplit;
}

$string = md5(time());
$strlen = strlen($string);

$return = array();
foreach (range(1, $strlen) as $length)
{
    foreach (range(0, $strlen) as $key)
    {
        $return[] = implode(strSplit($string, $key, $length));
    }
}

//unset($string, $strlen, $length, $key);
echo implode('<br>' . PHP_EOL, array_unique($return));
//unset($return);
.
(\/)____o_O____(\/)
кстати Макса задача не решена осталась
прикольно делать одно т3 разными способами. надо развивать тему
ещё задачка для раздумья
печать календарика с выходными и днями неделями на текущий месяц
.
# Koenig (26.09.2015 / 13:50)
кстати Макса задача не решена осталась
прикольно делать одно Т3 разными способами. надо развивать тему
Я как раз над ней сейчас и работаю
.
(\/)____o_O____(\/)
ДоХтор, вроде там задачка для детей)
.
# Koenig (26.09.2015 / 23:14)
ДоХтор, вроде там задачка для детей)
Почувствую себя ребёнком
У меня какой-то быдлокод получился... Вроде бы всё просто, но туева хуча циклов, как ни крути, имеет место. И ещё я не реализовал сортировку по дате. И вообще, мне не понравилось моё решение, если найду время, то перепишу заново.
Пример (+/-)
.
Демо скрипта
.
(\/)____o_O____(\/)
ДоХтор, я бы глянул в сторону spl там не плохие инструменты для работы с фс и файлами
.
# Koenig (27.09.2015 / 14:37)
ДоХтор, я бы глянул в сторону spl там не плохие инструменты для работы с фс и файлами
Спасибо, почитаю. А этот мой код неверно выполняет задачу, я его немного не дописал, потому что понял что логика немного ошибочна.
Всего: 270