Ученики и парты) запутался с кодом

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

var a;
var b;
var c;
a = parseFloat(window.prompt('Введите количество учеников'));
b = parseFloat(window.prompt('Введите количество парт'));
if (b >= a) {
c = b - a;
window.alert(String(c) + String('Парт лишних'));
} else {
c = a - b;
window.alert(String(c) + String('Парт не хватает'));
}

Ответы (1 шт):

Автор решения: entithat
  1. Вместо parseFloat используйте parseInt, у Вас же ученик и парта это целое число.
  2. window.alert, window можно не писать, это и так глобальный обьект у браузере, т.е. функции alert, prompt будут доступны и без этого идентификатора.
  3. String('...') можно не писать. Если будет число и строка, то в итоге при сложении серавно будет строка.

Что означает tables * pupilsPerTable >= pupils?

  • tables * pupilsPerTable - означает все возможные места (с учетом кол-ва парт)
  • И собственно, если всех возможных мест больше, чем надо мест, то есть лишние парты.

const pupilsPerTable = 2;
const pupils = parseInt(prompt('Введите количество учеников'));
const tables = parseInt(prompt('Введите количество парт'));

if (tables * pupilsPerTable >= pupils) {
  alert(Math.floor(tables - pupils / pupilsPerTable) + ' лишних парт');
} else {
  alert(Math.ceil(pupils / pupilsPerTable - tables) + ' парты не хватает');
}

→ Ссылка