Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
-25 / 7 / 1
Регистрация: 04.07.2018
Сообщений: 141

Найдите корень из числа и округлите его в большую и меньшую стороны

07.07.2018, 12:46. Показов 4587. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решаю задачки по PHP, только начал обучение.
Есть такая задача
"Найдите корень из числа 1000. Округлите его в большую и меньшую стороны. В массив $arr запишите первым элементом корень из числа, вторым элементом - округление в меньшую сторону, третьим элементом - в большую."

Я решил ее вот таким вот способом будучи новичком:
PHP
1
2
3
4
$a = 1000;
$arr[0] = sqrt($a);
$arr[1] = floor(sqrt($a));
$arr[2] = ceil(sqrt($a));
Автор задачника предлагает такое решение. Я правильно вообще ее решил или мой метод плохой? Если плохой, то почему? Спасибо!
Миниатюры
Найдите корень из числа и округлите его в большую и меньшую стороны  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.07.2018, 12:46
Ответы с готовыми решениями:

Запросите действительное число и найдите целую часть числа и округлите его до ближайшего целого
Помогите плиз) я новечек, только недавно начал учить Паскаль. задача:Запросите действительное число и найдите целую часть этого числа и...

Округление числа в большую и меньшую сторону по условию
Определите функцию, которая возвращает заданное число округляется в большую сторону, если дробная часть> = 5 и в меньшую сторону в...

Нужно чтобы округлялось в большую или меньшую сторону до целого числа после вычисления
if (Convert::ToInt32(gold->Text) > Convert::ToInt32(prsk->Text)) gold->Text=Convert::ToString(Convert::ToInt32(gold->Text) -...

7
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
07.07.2018, 12:48
Цитата Сообщение от Gallagher Посмотреть сообщение
Если плохой, то почему?
Явно используются индексы массива.
Корень вычисляется 3 раза
1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
07.07.2018, 12:51
Цитата Сообщение от Gallagher Посмотреть сообщение
Я правильно вообще ее решил или мой метод плохой?
Решили правильно. Но нет смысла каждый раз снова вычислять корень. Один раз вычислите, а потом проводите полученное через другие необходимые функции (как в коде на снимке).
1
-25 / 7 / 1
Регистрация: 04.07.2018
Сообщений: 141
07.07.2018, 12:51  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Корень вычисляется 3 раза
Это нагрузку повышает правильно?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
07.07.2018, 12:55
Цитата Сообщение от Gallagher Посмотреть сообщение
Это нагрузку повышает правильно?
да.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
07.07.2018, 12:58
Цитата Сообщение от Gallagher Посмотреть сообщение
Это нагрузку повышает правильно?
И это тоже. Представьте, что нужно бы вычислить не только корень, но ещё и поделить его на два. Что было бы, если бы дублировали, как сейчас:
PHP
1
2
3
4
$a = 1000;
$arr[0] = sqrt($a) / 2;
$arr[1] = floor(sqrt($a) / 2);
$arr[2] = ceil(sqrt($a) / 2);
А если ещё какие-то вычисления понадобятся? Явно проблема вырисовывается.
Если в коде из пяти-десяти строк она и не критична, то большой проект будет загублен при подобном подходе.
1
-25 / 7 / 1
Регистрация: 04.07.2018
Сообщений: 141
11.07.2018, 14:03  [ТС]
Еще одна задачка
"Преобразуйте строку 'var_test_text' в 'varTestText'. Скрипт, конечно же, должен работать с любыми аналогичными строками."
Решение автора задачки:

PHP
1
2
3
4
5
6
7
8
9
10
$arr = explode('_', 'hello_world_hello');
    $str = '';
    foreach ($arr as $key=>$elem) {
        if($key != 0) {
            $str .=  ucfirst($elem);
        } else {
            $str .= $elem;
        }
    }
    echo $str;
А я так решил:

PHP
1
2
$arr = explode('_', 'hello_world_hello');
echo $arr[0] . ucfirst(strtolower($arr[1])) . ucfirst(strtolower($arr[2]));
Я где-то ошибся или не так понял задание?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
11.07.2018, 15:16
Цитата Сообщение от Gallagher Посмотреть сообщение
Я где-то ошибся или не так понял задание?
С такой строкой не будет работать hello_world_hello_hello_world_hello
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.07.2018, 15:16
Помогаю со студенческими работами здесь

Дано натуральное число n. Найдите самую меньшую по значению цифру числа n
Дано натуральное число n. Найдите самую меньшую по значению цифру числа n

Создать программу перемножающую большую и меньшую переменную
Всем привет. Задали сделать такую программу, чтобы она выбирала большее и меньшее числа и перемножала их. Не могу понять где ошибка в коде,...

Округление деленных чисел в большую/меньшую сторону
Работаю в winforms. Ситуация такая, делю введеное с клавиатуры число на опредленное, поставил чтобы было 2 знака после запятой. Вопрос: ...

Округление десятичной в большую или меньшую сторону
Самоучка по урокам. Образовалась проблема даже интернет и ютуб не помог решить проблему. Есть графа "Бегунки" в ней стоит...

После смены частоты на видеокарте в меньшую или большую сторону зависает пк
После смены частоты на видеокарте в меньшую или большую сторону зависает пк. Помогает только перезагрузка. В чем проблема?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru