Uses crt;
var a:array[1..10] of integer;
i:integer;
begin
randomize;
for i:=1 to 10 do
begin
a[i]:=random(61)-35;
write(a[i]:4);
end;
writeln;
for i:=1 to 10 do
begin
write(a[i]-16:4);
end;
end.
Вещественный - значит есть запятая и цифры после нее. (real, и др типы) <span>Целый - это значит нет запятой (или точки) после целой части. (integer) </span>
var a,s,i:integer;
begin
randomize;
s:=0;
for i:=1 to 15 do
begin
a:=random(100);
s:=s+a;
end;
write('s=',s);
end.
Решение задачи будет гораздо проще, если заметить, что остаток от деления шестнадцатеричного числа на 5 совпадает с остатком от деления на 5 его суммы цифр.
Действительно, доказываем по индукции:
- Для числа из одной цифры это тривиально: число из одной цифры совпадает со своей суммой цифр.
- Переход: пусть число из k цифр ...xyz дает такой же остаток при делении на 5, что и сумма цифр ... + x + y + z. Покажем, что число из (k + 1) цифры ...xyzt дает такой же остаток, что и сумма цифр ... + x + y + z + t: ...xyzt = 16 * ...xyz + t = 15 * ...xyz + (...xyz + t). Первое слагаемое делится на 5, второе по предположению дает такой же остаток, что и (... + x + y + z) + t, что и требовалось.
У любой перестановки сумма цифр такая же, так что и остатки от деления на 5 совпадают. Так что осталось найти сумму цифр исходного числа и найти остаток от деления её на 5, это и будет ответом.
Python 3:
digits = "0123456789abcdef"
n = input()
s = sum(digits.index(digit) for digit in n)
print(s % 5)