За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной...

+296 голосов
3.1m просмотров

За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров? Программа получает на вход числа n и m. При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. Примеры Ввод 700 750 Вывод 2 Ввод 700 2100 Вывод 3 паскаль (решение через див и мод) ребят, пожалуйста


Информатика (33 баллов) | 3.1m просмотров
+144

PascalABC.NET:
###
var (n,m) := RI2;
Pr(m div n + (m mod n>0 ? 1 : 0))

+70

[any] Pascal:
var n, m, d: integer;
begin
read(n);
read(m);
if m mod n = 0 then d := m div n
else d := m div n + 1;
write(d)
end.

Дано ответов: 2
+163 голосов

Так как язык не указан, приведу пример на Python.

n, m = map(int, [input(), input()])

print(m//n + (1 if m%n > 0 else 0))

(7.0k баллов)
+76

Не внимательно

+60

Вижу

+84

Здесь - github.com/ramda/ramda/issues/186 - можно всё подробно про это прочесть.

+171

В отличии от Python в Pascal div и mod не применимы к вещественным числам, что уже говорит о разном принципе их работы. К тому же в Pascal mod - это операция "remainder", в то время как в Python % - это операция "modulo". Можете сами проверить, сверив результаты работы 5 mod -3 в Pascal и 5 % -3 в Python.

+80

"див и мод - это название операций взятия целочисленного деления и взятия остатка, кои в Python выражаются операторами // и %"
Ну здрасьте. А в html вот, div - это блочный элемент вообще, и никакая там не операция.

+80 голосов

В условии задачи сказано, что нельзя использовать IF и Циклы(while, for и тд).

Поэтому задача сводится к округлению.

Код программы на языке Паскаль:

var n,m:integer;

begin

 writeln('Введите скорость машины (n)');

 readln(n);

 writeln('Введите длину маршрута (m)');

 readln(m);

 writeln(round(m / n + 0.499));

end.

(294 баллов)
+59

Во-первых: в условии сказано: "решение через див и мод".
Во-вторых: n - это не "скорость машины", а расстояние, которое машина проезжает за один день.