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 - получаем нужный итог.
leean, бумажку. И диапазон от 5 до 36.
Подскажу: на 1 делятся 32 числа, на 2 - 16. Но это просто совпадение.
Кратные 3, 4, 5 и 6 посчитай сам. Сначала - на пальцах, потом, когда дойдет - по формуле.
Вот эта формула в цикле - все, что нужно для решения этой задачи.
leean, берешь бумажку и считаешь, сколько раз в диапазоне от 5 до 12 встречаются числа, кратные 1.
Потом - 2.
Потом - 3.
Если просветление не наступает, берешь диапазон побольше...
leean, я конкретно имел в виду один цикл от 1 до корня из большего числа, для каждого числа в этом цикле проверяется (точнее - вычисляется по элементарно выводимой формуле), сколько в указанном диапазоне кратных ему чисел. Можно начать на простых числах на бумажке, закономерность очевидна.
Что у вас формирует этот #MESSAGE# и перехеривает остальную логику - не знаю.