Решение задачи №4198
Условие задачи №4198:
Дана последовательность натуральных чисел, ограниченная вводом нуля. Вывести на количество простых членов этой последовательности.Решение
Код программы с подробным описаниемРешение:
Принцип решения этой задачи напоминает решения обеих предыдущих задач. При этом алгоритм распознавания простых чисел можно взять из задачи 17 (/show-so...), немного изменив его:
1 2 3 4 5 | s := 0;for i := 1 to a do begin if a mod i = 0 then inc(s)end;if s = 2 then inc(count); |
Здесь мы предварительно поменяли названия переменных и вместо вывода ответа о простоте числа работаем со счетчиком найденных простых чисел. Напомним, что в цикле считается количество всех возможных натуральных делителей числа, и если их 2, то оно простое, и необходимо увеличить счетчик простых чисел count. Когда вся числовая последовательность будет обработана, останется только вывести на экран значение переменной count.
Код всей программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | program NumOfPrimes; var a, i, s, count: word; begin read(a); count := 0; while a <> 0 do begin s := 0; for i := 1 to a do begin if a mod i = 0 then inc(s) end; if s = 2 then inc(count); read(a) end; writeln(count)end. |