Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.11.2018, 14:46
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Вывод всех степеней двойки до 2^31 включительно
В ходе изучения очередного чудо-языка программирования я столкнулся с очередным чудовищным синтаксисом:


<?php ## Вывод всех степеней двойки до 2^31 включительно

$n = 2; $i = 1;

while ($i < 32) {
echo $n, "<br>";
$n = $n * 2; // можно было бы написать $n *= 2
$i = $i + 1; // можно было бы написать Si += 1 или даже $i++
}

?>



Вопрос:

Где здесь, мать её, связь между первоначальным числом (скорее всего, здесь это "$n") и степенью (скорее всего, здесь это "$i"), в которую это самое число возводится???



Как я могу предположить, логически здесь всё должно выглядеть так:


<?php

$n = 2; $i = 1;

while ($i < 32) {
echo $n, "<br>";
$n = $n ** $i; // ну насколько мне известно, "**" - это вроде и есть оператор возведения в степень
$i++;
}

?>



2-й из описанных вариантов синтаксиса не дал должного результата, чем меня очень сильно огорчил!!!((((

!!! Убедительная просьба пояснять простыми (общепонятными) словами и терминами, а не заумными IT-шными !!!

Последний раз редактировалось garrip91, 01.11.2018 в 14:55. Причина: Дополнение
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2018, 15:25
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

garrip91,
Сообщение от garrip91
Где здесь, мать её, связь между первоначальным числом
Её там нет.
$n = 2;
$i = 1;

while ($i < 32) {
    echo $n, "<br>";
    $n = $n * 2; // умножить $n на 2 и сохранить в эту же переменную получившееся значение
    $i = $i + 1; // это просто счетчик
}


Можно было написать так:
$i = 0;
while (++$i <= 31)
    echo 2 ** $i, '<br/>', PHP_EOL;

Операторы в php



Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 01.11.2018, 17:51
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Ответ на ответ
А как бы выглядел данный синтаксис, если бы я вместо "while" использовал "for"?
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2018, 07:03
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

for($i=0;$i <= 31;++$i)
    echo 2 ** $i, '<br/>', PHP_EOL;
Ответить с цитированием
  #5 (permalink)  
Старый 03.11.2018, 11:37
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Ответ на ответ
Сообщение от Nexus Посмотреть сообщение
for($i=0;$i <= 31;++$i)
    echo 2 ** $i, '<br/>', PHP_EOL;
Спасибо Вам большое, уважаемый "Nexus"! Вы мне очень сильно помогли!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод всех функций в консоль NO_ONE Общие вопросы Javascript 1 13.03.2017 21:48
Как сохранить вывод значений на всех страницах ? Jay27 Общие вопросы Javascript 2 07.02.2017 09:27
Вывод всех значений из массива JSON TTATPuOT jQuery 1 05.12.2015 14:00
Вывод всех символов ASII kilogram Серверные языки и технологии 1 07.04.2012 21:41
Пошаговый вывод скрипта для IE всех версий. Zidky Элементы интерфейса 10 17.06.2009 18:27