Всем привет!
Я с интересом наблюдал за развитием этой темы и сочинил такую же конструкцию-строку с нулями. Но Виталий меня опередил. И раз уж совершенству (как и маразму)
нет предела, то мне оставалось только "тряхнуть стариной" и придумать что-то другое...
Придумал я вот это -
https://yadi.sk/d/771Yn1Y99rNmnwНе берусь утверждать, что раньше так никто не делал. В конечном итоге, мы в своих скриптах всего лишь меняем местами одни и те же неизменные команды, которые однажды дал нам СОЗДАТЕЛЬ.
Скачайте и сохраните архив у себя. А пароль к архиву я выложу как будет найдено такое же решение кем то еще. Тогда сможем сравнить результаты.
Заметьте, не я это придумал. Я лишь поддерживаю идею дать людям возможность находить решения самостоятельно и получать от этого удовольствие.
Сохраняя интригу, могу только сказать, что в архиве тоже конструкция в 1 строку (в двух вариантах). Она намного короче в написании (предложенной выше конструкции-строки) и работает быстрее последней в 1,4 раза. А так же, не содержит функций STRLEN и STRCONCAT. И еще, она быстрей, чем громоздкая, но быстрая конструкция со свитчем. В этой задаче, конструкция со свитчем быстрее конструкции с циклом.
Но есть в моей конструкции минусы и ограничения. Пока выявлены только вот эти.
1. Максимальная разрядность на выходе, не более 12 - для первого варианта, и не более 11 - для второго.
2. Второй вариант выдаст не верные данные, если количество разрядов на входе больше, чем ожидается на выходе.
В остальном конструкция вроде работает нормально. От количества добавляемых разрядов, скорость её выполнения не зависит, как например в случаях с циклом и свитчем.