решение задач 35_36

Download Report

Transcript решение задач 35_36

Задача: определить является
ли простым заданное число
program a1;
var m,i,k:integer;
begin
read(m);
for i:=1 to m do
if m mod i = 0 then k:=k+1;
if k=2 then write (' число простое') else write
(' число не является простым')
end.
35. Дано n целых чисел. Определить, есть ли среди
заданных чисел «близнецы», т.е. простые числа,
разность между которыми равна двум.
План решения задачи:
1. Заполнить массив А, количество чисел s
2. k:=0 – для каждого элемента массива «обнулить»
счетчик делителей
3. Ввести обозначения m:=a[j]
4. Если a[j] – простое то помещаем его в В, если нет,
то в В помещаем 0.
5. Если в массиве В разность двух соседних чисел =2
то печатаем их и g:=g+1 иначе f:=f+1;
6. Если (f>0) and (g<1) то печатаем, что чиселблизнецов нет.
program a35;
var m,i,k,j,s,f,g:integer;
a,b:array[1..10] of
integer;
begin
read(s);
for i:=1 to s do begin
a[i]:=random(10);
write(a[i]:3)end;
for j:=1 to s do begin
k:=0;
m:=a[j];
for i:=1 to m do
if m mod i = 0 then
k:=k+1;
if k=2 then b[j]:=a[j]
else b[j]:=0; end;
writeln;
for j:=1 to s do write
(b[j]:3); writeln; f:=0;
g:=0;
for j:=1 to s-1 do
if (b[j]-b[j+1]=2)or
(b[j]-b[j+1]=-2)
then begin writeln
(b[j]:3,b[j+1]:3); g:=g+1
end else f:=f+1;
if (f>0) and (g<1) then
write(' чисел
близнецов - нет')
end.
Результаты работы программы:
9 – количество чисел в А
А: 6 9 5 2 3 3 5 8 8
В: 0 0 5 2 3 3 5 0 0
Печатаем числа-близнецы
3 5
36. Определить, есть ли в данном массиве
два соседних положительных элемента.
Найти номера первой (последней) пары.
program a36;
var i,j,m,n,k :integer;
a:array[1..10] of integer;
begin
read(k); {количество чисел в массиве}
for i:=1 to k do begin
a[i]:=random(100)-30; write(a[i]:3)end;
writeln;
{последний номер положительной пары}
for i:=1 to k-1 do
if (a[i]>0) and (a[i+1]>0) then j:=i;
writeln(' номера последних положительных ', j,'
и ', j+1);
writeln;
{последний номер положительной пары}
for i:=k-1 downto 1 do
if (a[i]>0) and (a[i+1]>0) then j:=i;
writeln(' номера первых положительных ', j,' и ',
j+1);
end.
Результаты работы программы:
8 – количество чисел в массиве А
А: 19 23 47-18 5 61-21 43
номера последних положительных 5 и 6
номера первых положительных 1 и 2
Самостоятельно:
37. Определить, есть ли в данном массиве
элемент, равный заданному числу. Если есть,
то вывести номер одного из них.
38. Определить, есть ли в данном массиве
положительные элементы, кратные k. k
вводится с клавиатуры.
39. Определить пару соседних элементов с
суммой, равной заданному числу.