Задание №1. С клавиатуры вводится целое число. Найти:
Ввод исходного числа
сумму цифрn
Переменная, которая будет хранить результат
Повторять тело цикла до тех пор, пока в числе n есть цифры
= int(input())s = 0
while n != 0:
Получение последней цифры числа
d = n % 10
Добавление последней цифры в общую сумму
s = s + d
Удаление последней цифры числа
n = n // 10p
Вывод результата
rint (s)
м
Ввод исходного числа
инимальную и максимальную цифрыn
Повторять тело цикла до тех пор, пока в числе n есть цифры
= int(input())m
Начальные значения для переменных minn и maxn задаются как несуществующие цифры. Это необходимо для первоначального сравнения внутри цикла. Затем они заменятся на реальные цифры числа. Переменную maxn можно приравнять к 0.
inn = 10maxn = -1
while n != 0:
Получение последней цифры числа
d = n % 10if d maxn:
m
Замена значений переменных minn и maxn, если новая цифра лучше
axn = dif d
minn = d
Удаление последней цифры числа
Вывод результата
n = n // 10print (minn, ‘ ‘, maxn)
Задание №2.
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, кратное 5.
Пример работы программы:
В Количество чисел ходные данные | Выходные данные |
3 Вводимые числа 10 25 12 | 25 |
n
Т.к. количество вводимых чисел известно (оно равно n), то мы можем использовать цикл for, т.е. цикл должен отработать n раз. Возможна другая запись этой строки: for i in range (0,n):
Вводим количество чисел
= int(input())m
Т.к. вводимые числа являются натуральными и не превышают 30000 (т.е. принадлежат диаразону [1;30000], следовательно начальное значение переменной maxn можно приравнять к 0. Если бы в задаче искали максимум, то начальное значение необходимо приравнять 30001
Ввод числа последовательности (в примере это 10 при первом обороте цикла, затем 25 и 12)
axn = 0for i in range (n):
a = int(input())
if a maxn and a % 5 ==0:
m
Обработка вводимого числа (если оно больше текущего значения переменной maxn и кратно 5, то необходимо заменить maxn на данное число)
axn = aprint (maxn)
Вывод результата
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество трёхзначных чисел, кратных 4.
Пример работы программы:
Входные данные | Выходные данные |
120 9 365 4 0 | 2 |
Р
Т.к. количество вводимых чисел неизвестно, то мы не можем использовать цикл for. В данном случае необходим цикл с условием (с предусловием). Он продолжит свою работу, пока введенное число не равно 0.
ешение 1.k
Вводим первое число. Этот ввод должен осуществляться за пределами цикла
= 0a = int(input())
while a != 0:
Ввод второго и всех последующих чисел последовательности.
Обработка вводимого числа (если оно кратно 4, то количество должно вырасти на 1)
if a % 4 ==0:k += 1
a = int(input())
p
Задаем в переменную a любое число отличное от 0, например 1. Это необходимо, чтобы попасть в цикл. Но это число не является элементом последовательности и не нуждается в обработке. Поэтому уже в цикле перебиваем его реальным числом. Однако, при решении таким способом есть проблема обработки числа 0, которое не входит в последовательность, но вводится в цикле и является кратным 4. Следовательно, количество чисел кратных 4 будет на 1 больше. Этот момент необходимо учитывать при выводе. Либо можно изменить условие на if a % 4 ==0 and a != 0:
rint (k)Решение 2.
k = 0
a = 1
while a != 0:
a = int(input())
if a % 4 ==0:
k += 1
print (k-1)