Питон хард. 8-3py_Хард. 17. Введение 18. Линейные программы 19. Ветвления 20. Программирование циклических алгоритмов
Скачать 5.26 Mb.
|
Задачи«A»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью алгоритма Евклида. Пример: Введите два числа: 21 14 НОД(21,14)=7 «B»: Ввести с клавиатуры два натуральных числа и найти их НОД с помощью модифицированного алгоритма Евклида. Заполните таблицу:
Задачи«C»: Ввести с клавиатуры два натуральных числа и сравнить количество шагов цикла для вычисления их НОД с помощью обычного и модифицированного алгоритмов Евклида. Пример: Введите два числа: 1998 2 НОД(1998,2)=2 Обычный алгоритм: 998 Модифицированный: 1 Обработка потока данныхЗадача. На вход программы поступает поток данных — последовательность целых чисел, которая заканчивается нулём. Требуется найти сумму элементов этой последовательности. while x!=0: # добавить x к сумме # x = следующее число Откуда возьмётся x в первый раз? ? Обработка потока данныхSum = 0 x = int(input()) # первое число while x!=0: Sum += x x = int(input()) # ввести следующее print("Сумма ", Sum) Как найти количество чисел? ? Как найти сумму положительных? ? Задачи«A»: На вход программы поступает неизвестное количество чисел целых, ввод заканчивается нулём. Определить, сколько получено чисел, которые делятся на 3. «B»: На вход программы поступает неизвестное количество чисел целых, ввод заканчивается нулём. Определить, сколько получено двузначных чисел, которые заканчиваются на 3. «C»: На вход программы поступает неизвестное количество чисел целых, ввод заканчивается нулём. Найти максимальное из введённых чётных чисел. Задачи на циклы (дополнительные)«A»: Напишите программу, которая предлагает ввести число-пароль и не переходит к выполнению основной части, пока не введён правильный пароль. Основная часть – вывод на экран «секретных сведений». «B»: Напишите программу, которая получает с клавиатуры натуральное число, которое больше 1, и определяет, простое оно или нет. Для этого нужно делить число на все натуральные числа, начиная с 2, пока не получится деление без остатка. «C»: Напишите программу, которая получает с клавиатуры два целых числа и вычисляет их произведение, используя только операции сложения. Задачи«D»: Напишите программу, которая получает с клавиатуры натуральное число и вычисляет целый квадратный корень из него – наибольшее число, квадрат которого не больше данного числа. Цикл по переменнойЗадача. Вывести на экран степени числа 2 от 20 до 210. k = 0 N = 1 while k <= 10 : print(N) N = N*2 k = k + 1 Работа с k в трёх местах! ! k = 0 k <= 10 k = k + 1 Идея: собрать всё вместе. N = 1 for k in range(11): print(N) N = N*2 k in range(11) сделать 11 раз [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] с нуля! не включая 11! |