Урок 6. Задачи на элементарные действия с числами
2.14. Решение задач на элементарные действия с числами
Пример 6.1. Сумма цифр трехзначного числа
Пользователь вводит трехзначное число. Программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, то программа должна вывести на экран число 16 (т. к. 3 + 4 + 9 = 16).
Пояснение к задаче и алгоритм решения:
Как извлечь отдельные цифры из числа? Если число разделить нацело на десять, то в остатке будет последняя цифра этого числа. Например, если 349 разделить нацело на 10, то получится частное 34 и остаток 9. Если потом 34 разделить также, то получится частное 3 и остаток 4; далее при делении 3 на 10 получим частное 0 и остаток 3.
Итак, алгоритм нахождения суммы цифр трехзначного числа abc (где a - сотни, b - десятки и c - единицы) можно представить в следующем виде:
1. Найти остаток от деления abc на 10, записать его в переменную (d1). Это будет цифра c.
2. Избавиться от цифры c в числе abc, разделив его нацело на 10.
3. Найти остаток от деления ab на 10, записать его в переменную (d2). Это будет цифра b.
4. Избавиться от цифры b в числе ab, разделив его нацело на 10.
5. Найти остаток от деления a на 10, записать его в переменную (d3). Это будет цифра a.
6. Сложить цифры a, b и c.
Код скрипта на языке Python:
# Пример 06.1a
# Сумма цифр трехзначного числа (1 способ) n = input("Введите трехзначное число: ") n = int(n) d1 = n % 10 n = n // 10 d2 = n % 10 n = n // 10 d3 = n % 10
print("Сумма цифр числа:", d1 + d2 + d3)
Однако, если нам известно количество разрядов (цифр) числа, то можно найти другой способ "выделения" цифр из числа.
1. Остаток от деления на 10 исходного числа дает последнюю цифру числа.
2. Если найти остаток от деления на 100 исходного числа, то мы получи последние две цифры числа. Далее можно просто разделить полученное двухзначное число нацело на 10, и у нас окажется вторая цифра числа.
3. Если исходное трехзначное число разделить нацело на 100, то получится первая цифра числа.
Код скрипта на языке Python:
# Пример 06.1b
# Сумма цифр трехзначного числа (2 способ) n = input("Введите трехзначное число: ") n = int(n) d1 = n % 10 d2 = n % 100 // 10 d3 = n // 100
print("Сумма цифр числа:", d1 + d2 + d3)
Пример выполнения кода:
Введите трехзначное число: 742
Сумма цифр числа: 13
Пример 6.2. Площадь и периметр прямоугольного треугольника
Найти площадь и периметр прямоугольного треугольника по двум заданным катетам.
Пояснение к задаче и алгоритм решения:
Площадь прямоугольного треугольника равна половине площади прямоугольника, стороны которого равны длинам катетов. Периметр же находится путем сложения длин всех сторон треугольника. Поскольку известны только катеты, то гипотенузу можно найти по теореме Пифагора: c2 = a2 + b2.
Чтобы извлечь квадратный корень в Python можно воспользоваться функцией sqrt() из модуля math.
# Пример 06.2 # Площадь и периметр прямоугольного треугольника import math AB = input("Длина первого катета: ") AC = input("Длина второго катета: ") AB = float(AB) AC = float(AC) BC = math.sqrt(AB**2 + AC**2) S = (AB * AC) / 2 P = AB + AC + BC print("Площадь треугольника: %.2f" % S) print("Периметр треугольника: %.2f" % P) |
Пример выполнения кода:
Длина первого катета: 5.4
Длина второго катета: 2.1
Площадь треугольника: 5.67
Периметр треугольника: 13.29
© ООО «Знанио»
С вами с 2009 года.