8-Lesson №32(old)

Урок №32. Анализ алгоритмов.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4, но не кратных 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число кратное 4 и не кратное 7. Количество чисел не превышает 1000. Введенные числа не превышают 30000.

Программа должны вывести одно число: кратных 4, но не кратных 7.

 

Дана задача на обработку чисел последовательности натуральных чисел, в которой задано количество чисел. В этой последовательности нужно определить количество чисел, удовлетворяющих условию, что они одновременно кратны 4, но не кратны 7.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4, но не кратных 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число кратное 4 и не кратное 7. Количество чисел не превышает 1000. Введенные числа не превышают 30000.

Программа должны вывести одно число: кратных 4, но не кратных 7.

Для решения задачи будем использовать переменные:

  • n — для обозначения количества чисел в последовательности;
  • x — для обозначения самих чисел из последовательности;
  • k — количество искомых чисел, удовлетворяющих условию;
  • i — параметр цикла.

Все используемые переменные целочисленные.

Ввод количества чисел осуществляется командой :

Ввод количества чисел

n=int(input())

Поскольку задано количество чисел последовательности, то для ввода самих чисел можно использовать цикл по переменной.

Ввод последовательности чисел

for i in range(n):
    x=int(input())

В задаче представлено составное условие, связанное логической связкой И, поскольку они должны выполняться одновременно. Запишем их командами на Python. Число кратно 4, если остаток от деления этого числа на 4 равен нулю. Число не кратно 7, если остаток от деления числа на 7 не равен нулю.

Анализ числа

if x%4==0 and x%7!=0:

В теле цикла нужно анализировать числа последовательности на соответствие условию и увеличивать счётчик на единицу, когда условие выполнено. До цикла нужно присвоить счётчику значение ноль.

Обновление счетчика

k=k+1

После завершения цикла нужно вывести значение счётчика.

Вывод счетчика

print(k)

В итоге получаем такую программу.

n=int(input())
k=0
for i in range(n):
x=int(input())
if x%4==0 and x%7!=0:
k=k+1
print(k)

Проверим работу программы на исходных данных из условия задачи.

Программа на основе алгоритма работает корректно на исходных данных, представленных в задаче.