17. num = 23
# 1 вариант - преобразуем число в строку, разбиваем на цифры
string = str(num)
if int(string[0]) < int(string[1]): # если первая цифра меньше второй
string = string[1] + string[0] #меняем их местами
num = int(string)
# 2 вариант - остатком от деления на степени 10
# остаток от деления на 10 - первая цифра числа, остаток от деления на 100 - вторая и так далее
if num % 10 < num % 100: #если первая цифра меньше второй
num = num % 10 * 10 + num % 100
21.
num = 1234
# 1 вариант - преобразуем число в список и находим сумму цифр
string = str(num)
lst = [int(n) for n in string] # учили списковое включение? если нет, смотри следующий код
lst = []
for n in string:
lst.append(int(n)) # это все если не учили списковое включение
# второй вариант - остатки от деления на 10 суммируем вручную
first = num % 10
sec = num % 100
th = num % 1000
four = num % 10000
result = first + sec + th + four
result = sum(n)
Объяснение:
Функция sum() возвращает сумму элементов списка
Если будут вопросы - пиши
Если пригодилось - оцени ответ ;)
program amountnumbers;
var
amount, number, a: integer;
begin
write('Введите трехзначное число: ');
read(number);
writeln('Введите число А:');
read(a);
while number > 0 do
begin
amount := amount + number mod 10;
number := number div 10;
end;
if (amount mod a = 0) then
writeln('Да')
else
writeln('Нет');
end.
Объяснение:
program amountnumbers; // Название программы
var
amount, number, a: integer; // Целочисленные переменные:
amount - сумма цифр трехзначного числа;number - трехзначное число, вводимое с клавиатуры;a - число для проверки на кратность.begin // Начало программы
write('Введите трехзначное число: '); // Вывод сообщения в консоль
read(number); // Считываем трехзначное число с клавиатуры
writeln('Введите число А:'); // Вывод сообщения в консоль
read(a); // Считываем число А с клавиатуры
while number > 0 do // Пока значение переменной number > 0
begin // Начало цикла
amount := amount + number mod 10; // Сумма цифр = сумма цифр + последняя цифра числа
number := number div 10; // Отделяем последнюю цифру от числа
end; // Конец цикла
if (amount mod a = 0) then // Если значение переменной amount делится на значение переменной A без остатка, тогда
writeln('Да') // Вывод сообщения в консоль
else // Иначе
writeln('Нет'); // Вывод сообщения в консоль
end. // Конец программы