Program n1;
type z = array of integer;
var a: z;
i,n,x,j,buf: integer;
f: text;
begin
randomize;
assign(f,'input.txt');
reset(f);
n:=0;
readln(f,x);
setlength(a,x);
while not eof(f) do
begin
read(f,a[n]);
n:=n+1;
end;
close(f);
for i:=0 to n-2 do
for j:=i+1 to n-1 do
if a[i]>a[j] then begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
assign(f,'output.txt');
rewrite(f);
for i:=0 to x-1 do write(f,a[i],' ');
close(f);
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)
Дана последовательность чисел 10, 20, 30...1000
<span>Составьте алгоритм и программу нахождения суммы чисел этой последовательности
ой не сюда</span>
сходство:
*текстовые редакторы
*позволяют проводить поиск/замену
*позволяют изменять масштаб отображения текста (в блокноте черех шрифт)
различие:
*ворд сохраняет оформление/форматирование, поддерживает разные форматы файлов
*ворд имеет дополнительные возможности (язык/статистика/таблицы/и много другого)
*ворд может работать с рисунками, гиперссылками и т. д.