Вы не слышали анекдот про водителя, которого радио предупреждает, что на Проспекте Мира какой-то неадеават едет по встречке, а он бешено крутит руль и в панике кричит "да их тут тысячи!"?..
Evgeniy, открытые форматы обычно текстовые, так что после конвертации в них достаточно будет средств работы с текстом, чтобы выцепить нужное, перевести внешним сервисом, а потом просто заменить текст на текст. Вот что там получится в результате - это уже надо руками смотреть.
Главное - чтобы формат именно пускал текст по контуру, а не раскладывал такую строчку на отдельные буквы, каждая со своим позиционированием.
zeroname, какие методы? Это Битрикс. В нем информация уходит в коллектор и неожиданно выныривает оттуда в виде массива $arResult перед обработкой шаблона. Между этими видимыми этапами - километры говнокода в модулях, компонентах и том, что они называют фреймворком.
Хотите простого пути? Да легко. Берете и вставляете на ту страницу, где лежит эта форма (или куда она отправляется) разбор $_POST. Там вся информация таки будет еще в непережеванном виде, делайте, что хотите. У меня так за аналогичной формой присланный в нее спам спускается в биореактор вместо того, чтобы засирать БД и почты, например.
zeroname, штатно поля формы передаются в шаблон так, как я указал в ответе.
Что у вас формирует этот #MESSAGE# и перехеривает остальную логику - не знаю.
zeroname, я просто не вижу смысла настраивать то, что работает сейчас на птичьих правах и сломается при смене хостера, почты или настроек.
А сделать иначе, указав-таки почту в тексте ответа, проблемы не составляет.
Можно еще попробовать вставить его в предусмотренное Битриксом поле "Обратный адрес" в шаблоне ("показать дополнительные заголовки").
zeroname, то есть, грубо говоря, вы можете, например, прислать мне на гуглопочту (которая в профиле) письмо с обратным адресом bigboss@kremlin.ru, и Гугль ничего на это не скажет? Хотя весь остальной интернет он давно затрахал строгими проверками SPF, DKIM и DMARC?
Что-то тут не так.
У меня отправка по SMTP, на подобные трюки сразу возвращают ошибку несоответствия отправляющего и поля FROM:
SMTP Error: The following recipients failed: my_mail@site.com: You are not allowed to send messages as "crap@send.online"
Если ваш почтовый сервер не разбирается, что шлет, то в его пределах письмо себе от себя может доставляться.
Здорово смущает интерфейс Гугля - это вы реально на gmail отправили такое и оно пришло? Или там просто сбор писем с хостерского ящика?
Lynn «Кофеман», черепашка даже не сильно врет: кодировка iso-8859-1 в рунете традиционно используется как четкий симптом неправильно определенной cp1251 :)
leean, числа, являющиеся квадратом другого числа, очевидно.
У них этот алгоритм при удвоении результата будет давать один лишний множитель, его нужно вычесть.
leean, похоже, оба ответа таки сошлись в один, вам осталось немножко поработать напильником - удвоить результат и вычесть кол-во квадратов в диапазоне.
leean, вы комбинируете два ответа в кучу.
В моем варианте вам нужно просто перебрать все числа. Не только простые. И не выстраивая предварительно решето.
leean, вообще-то тут простота никакой роли и не играет.
Это то же самое решето Эратосфена по диапазону, только с подсчетом выбиваемых ячеек.
После которого больше уже и считать нечего, потому что в задаче только это и требуется.
Кстати, в рассуждениях ошибка: не "каждое второе", а "каждое четное".
В диапазоне от n до m нужно найти крайние числа внутри диапазона, кратные k:
M = m - m % k;
N = n + (k - n % k) % k; // может, можно и проще, но сойдет и так
sum = (M - N) / k + 1; // количество чисел, кратных k, в заданном диапазоне.
Каждое из них дает по 2 делителя так же, как в приведенном в вопросе коде (кроме квадрата, дающего два одинаковых делителя - так что удваиваем результат, но если квадрат k лежит в нужном диапазоне - уменьшаем его на 1).
Складываем эти результаты в цикле от 1 до корня из m - получаем нужный итог.