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