Некоторый исполнитель может выполнять над целыми числами кроме операций сложения, вычитания, умножения и деления еще две операции: с операции div вычисляется целое частное, с операции mod – остаток. Например: 5 div 2=2; 5 mod 2=1; 2 div 5=0; 2 mod 5=2
Покажем как с этих операций можно реализовать алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 1000 (k1000), 500 (k500), 100 (k100) и 50 (k50).
k1000:= s div 1000
s:=s mod 1000
k500:= s div 500
s:=s mod 500
k100:= s div 100
s:=s mod 100
k50:= s div 50
Исполните алгоритм для s=234 и s=1299. Составьте соответствующие таблицы значений переменных.
(я так понял масив(матрица) "состоящая из 5 строк и 10 столбцов заполненная случайными числами в диапазоне от 0 до 29" вводитса з клавиатуры) (я на Паскале на ошибки не проверял)
program dl9_aridrettnir;
var a:array [1..10,1..5] of inteher;
sum:array [1..10] of integer;
i,q,j:integer;
begin
writeln ('Vvedit masiv ot 0 do 29');
for i:=1 to 10 do
begin
for q:=1 to 5 do begin
readln (a[i,q]);
end; end;
for i:=1 to 10 do
begin sum[i]:=0;
for q:=1 to 5 do begin
for j:=1 to 10 do begin
sum[i]:=a[q,j]+sum[i];
end; end;end;
readln
end.
Реализация (python 3):
n = int(input())
if n == 0:
print(1)
else:
prev, curr = 1, 1
i = 1
while i < n:
curr, prev = prev + curr, curr
i += 1
print(curr)
Запустив программу, можно узнать, что f10 = 89, f25 = 121393, а f40 = 165580141