kolaghan
Всем доброго времени суток! Помогите, пожалуйста, с кодом для задач:
1) n детям подарили пакет с m конфетами. Всем должно достаться одинаковое количество конфет, иначе кто-то может расстроиться (остальные можно отдать взрослым).Напишите функцию distributeCandies(int $m, int $n): int, результатом которой будет количество конфет, которое получит каждый ребенок.
2. Старьевщик отправляется на рынок в выходной день. В наличии у него имеются вазы массой m1 и ценой p1 каждая и подсвечники массой m2 и ценой p2 каждый. На ярмарку старьевщик может взять ограниченный набор товаров общей массой maxM. Требуется определить, сколько максимально он сможет заработать на продажах, если:
1)можно взять не более одного товара каждого типа?
2) можно брать сколько угодно товаров каждого типа?
Заранее, спасибо всем за помощь.
artoodetoo
покажи свои попытки.
мне кажется задачи скорее математические, чем на знание php. тем не менее функции должны быть рабочими
kolaghan
Пока пытаюсь решить первую, не могу найти информацию о написании функций с или, для того, чтоб учесть нечетное количество конфет.
<?php
$n = 1; # вводим количество детей вместо 1
$m = 2; # вводим количество конфет вместо 2
function distributeCandies()
{
global $m, $n;
$m = $m / $n;
}
distributeCandies();
echo $m;
?>
kolaghan
public int distributeCandies(int m, int n) {
return Math.floor(m/n)
}
artoodetoo
Спасибо, чувак. Ты показал, что твои знания php примерно нулевые.
Официальная докуметация по php это твой главный источник знаний на этом этапе. https://www.php.net/manual/ru/
Не пытайся скопировать код из javascript в php, они очень разные.
Чтобы знать что происходит, надо обязательно читать текст ошибок. Для роста это ппц как важно — читать и понимать, а не бежать на форум за копи-пастой.
phpfaq.ru/debugПара подсказок:
Функция должна возвращать значение, а не «печатать» его. Поэтому результат должен быть в return. А уже потом в вызывающем коде ты можешь делать echo.Точкой в php пользуются чтобы склеить строки, а не для того чтобы обратиться к методу какого-то объекта или пакета, как в других языках. В php для этого «стрелка» $object->method() и «пара двоеточий» class::method()
Dimon2x
PHP:
<?php //$n — количество детей; //$m — количество конфет в одном пакете; function distributeCandies(int $m, int $n){ $res2 = $m%$n; //остаток для взрослых; return [$res1, $res2]; }
artoodetoo
Оно вроде ничего, но floor() возвращает вещественное число. А нам надо целое.
Тем более нас просили вернуть не массив с дополнительной информацией, а только целое число конфет!Матчасть про операции и там ссылка на целочисленное деление
https://www.php.net/manual/ru/language.operators.arithmetic
Edward-T
По второй задаче конкретнее условие изложи, мало конкретики.
PHP:
function distributeCandies(int $m, int $n): int { return ($m — ($m % $n)) / $n; }
mkramer
Достаточно конкретики Там логически подумать надо.
Edward-T
банально что возвращать если передан параметром вес которого хватает на каждый из товаров но не на оба, в случае с условием когда продается только товар в 1 экземпляре.
mkramer
Что можно заработать только за один товар. Тут же не спрашивается, сколько какого товара взять. Спрашивается, сколько максимально можно заработать. Если в выделенный вес помещается только 1 ваза или 1 подсвечник, то просто вернуть наибольшую цену.
— Добавлено —
Если нифига не помещается в выделенную массу, то соотв. 0. Всё по логике из задачи вытекает.