Решение 50 типовых задач по программированию на языке Pascal Дата размещения сборника в сети


Задача № 42. Найти количество простых членов последовательности


Download 1.52 Mb.
Pdf ko'rish
bet57/77
Sana03.02.2023
Hajmi1.52 Mb.
#1152062
TuriРешение
1   ...   53   54   55   56   57   58   59   60   ...   77
Bog'liq
Задачи на Pascal

Задача № 42. Найти количество простых членов последовательности 
Формулировка. Дана последовательность натуральных чисел, ограниченная вводом нуля. 
Вывести на количество простых членов этой последовательности. 


Данил Душистов: «Решение 50 типовых задач по программированию на языке Pascal» 
52 
Решение. Принцип решения этой задачи напоминает решения обеих предыдущих задач. При 
этом алгоритм распознавания простых чисел можно взять из 
задачи 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. 
Задача № 43. Проверить, начинается ли каждый из членов последовательности с 
десятичной цифры, на которую оканчивается предыдущий 
Формулировка. Дана последовательность натуральных чисел, ограниченная вводом нуля. 
Проверить, начинается ли каждый из ее членов (со второго) с десятичной цифры, на которую окан-
чивается предыдущий. Например, таковой последовательностью будет являться 14 47 712 2179 9 9 
93 
0
(также сохранен ограничивающий ноль). 
Решение. Задача решается через цикл с предусловием, что характерно для задач на последо-
вательность с ограничителем. При ее решении мы могли бы не рассматривать «вырожденные вари-
анты», в которых на вход будет подаваться, например, пустая последовательность (то есть состоя-
щая из единственного нуля) или последовательность из одного члена, так как на вопрос о том, удо-
влетворяют ли такие последовательности заданному критерию, ответить теоретически достаточно 
трудно. Разумнее всего было бы считать выполнение критерия для таких последовательностей не-
определенным, что, однако, в формате даваемого нами ответа не представляется возможным: под 
«проверкой» характеристического свойства в данном случае понимается ответ на вопрос: либо «да», 
и последовательность отвечает заданным требованиям, либо «нет», и, соответственно, не отвечает. 
Следовательно, нам нужно вместо ответа о «неопределенности» проверяемого свойства дать 
один из допустимых ответов. Наверное, разумно было бы дать при обработке вырожденных случаев 



Download 1.52 Mb.

Do'stlaringiz bilan baham:
1   ...   53   54   55   56   57   58   59   60   ...   77




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling