ОСТАТОК ОТ ДЕЛЕНИЯ
(Время: 1 сек. Память: 16 Мб Сложность: 7%)
Напомним, как в математике определяется остаток от деления целых чисел.
Для любых целых чисел a и b (b ≠ 0) найдется единственная пара целых чисел q и r таких, что a = q×b + r, где 0 ≤ r < |b|.
Здесь a – делимое, b – делитель, q – неполное частное, r – остаток. Следует заметить, что остаток r – это всегда неотрицательное число.
В языках программирования существуют операции для вычисления остатка от деления. Однако эти операции практически всегда в случае отрицательных чисел работают по иным правилам.
Ваша задача – по заданным числам a и b определить значение остатка от деления a на b.
Входные данные
Входной файл INPUT.TXT содержит два целых числа a и b (-1018 ≤ a, b ≤ 1018, b ≠ 0).
Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.
1)665675757:2=332837878 и в остатке 1
значит пишем 1
2)332837878:2=166418939 и в остатке 0
значит пишем 0
3)166418939:2=83209469 и в остатке 1
значит пишем 1
4)83209469:2=41604734 и в остатке 1
значит пишем 1
5)41604734:2=20802367 и в остатке 0
значит пишем 0
6)20802367:2=10401183 и в остатке 1
значит пишем 1
7)10401183:2=5200591 и в остатке 1
значит пишем 1
8)5200591:2=2600295 и в остатке 1
значит пишем 1
9)2600295:2=1300147 и в ост 1
зн пишем 1
10)1300147:2=650073 и в ост 1
зн пишем 1
11)650073:2=325036 и в ост 1
зн пишем 1
12)325036:2=162518 и в ост 0
зн пишем 0
13)162518:2=81259 и в ост 0
зн пишем 0
14)81259:2=40629 и в ост 1
зн пишем 1
15)40629:2=20314 и в ост 1
зн пишем 1
16)20314:2=10157 и в ост 0
зн пишем 0
17)10157:2=5078 и в ост 1
зн пишем 1
18)5078:2=2539 и в ост 0
зн пишем 0
19)2539:2=1269 и в ост 1
зн пишем 1
20)1269:2=634 и в ост 1
зн пишем 1
21)634:2=317 и в ост 0
зн пишем 0
22)317:2=158 и ост 1
зн пишем 1
23)158:2=79 и ост 0
зн пишем 0
24)79:2=39 и ост 1
зн пишем 1
25)39:2=19 и ост 1
зн пишем 1
26)19:2=9 и ост 1
зн пишем 1
27)9:2=4 и ост 1
зн пишем 1
28)4:2=2 и ост 0
зн пишем 0
29)2:2=1 и ост 0
зн пишем 0
30)1:2=0 и ост 1
зн пишем 1
число в двоичной системе 10110111110011010110101111001
Ниже вариант с процедурой, а потом другой, без процедур. Можно сравнить...
// PascalABC.NET 3.2, сборка 1509 от 27.07.2017
// Внимание! Если программа не работает, обновите версию!
Вариант с процедурой
procedure MassAvg(var r:real);
begin
r:=ReadSeqInteger('Вводите:',ReadInteger('n=')).Average
end;
begin
var avg:real;
for var i:=1 to 3 do begin
MassAvg(avg);
Writeln('Среднее значение: ',avg)
end
end.
Вариант без процедур и функций
begin
for var i:=1 to 3 do begin
Writeln('Среднее значение: ',
ReadSeqInteger('Вводите:',ReadInteger('n=')).Average)
end
end.
Результат
n= 7
Вводите: -5 4 11 8 0 5 4
Среднее значение: 3.85714285714286
n= 5
Вводите: 100 32 52 43 19
Среднее значение: 49.2
n= 4
Вводите: 6 6 8 7
Среднее значение: 6.75