Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2017, 18:17   #1
Леха Palкино
 
Регистрация: 23.11.2017
Сообщений: 7
По умолчанию Помогите написать комментарии к программе в PascalABC

Помогите пожалуйста написать комментарии к решению этой задачи,
сколько сможете .Я никак разобраться не могу.



440 Дано натуральное число n, целые числа a1, ..., an. Рассмотреть отрезки последовательности a1, ..., an (подпоследовательности идущих подряд членов), состоящие из
a) полных квадратов;
б) степеней пятерки;
в) простых чисел.
В каждом случае получить наибольшую из длин рассматриваемых отрезков. (Определить процедуры, позволяющие распознавать полные квадраты, степени пятерки, простые числа).


Код:

program Glava12;5

const nmax=20; //объявление константы,т.е. максимальный размер массива 20
function Prost(a:longint):boolean; //функция prost(a- переменная передающаяся в функци;boolean - тип возвращаемоемого результата), longit целый

var i:longint; //коэфициент целый
begin
if a<2 then Prost:=false //
else
begin
Prost:=true;
for i:=2 to round(sqrt(a)) do
if a mod i=0 then
begin
Prost:=false;

end;
end;
end;
var a:array[1..nmax] of integer;
n,i,j,k,mx,imx:byte;
begin

repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите элементы массива:');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;

writeln('Массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
i:=2;mx:=0;imx:=0;
while i<=n do
if Prost(a[i])and Prost(a[i-1]) then
begin
j:=i;k:=1;
while (Prost(a[j])and Prost(a[j-1]))and(j<=n) do
begin
j:=j+1;
k:=k+1;
end;
if k>mx then
begin
mx:=k;
imx:=i-1;
end;
i:=i+k;
end
else i:=i+1;
if mx=0 then write('Нет простых чисел!')
else
begin
writeln('Максимальная последовательность простых чисел=',mx);
for i:=imx to imx+mx-1 do
write(a[i],' ');
end;

end.
Леха Palкино вне форума Ответить с цитированием
Старый 26.11.2017, 20:08   #2
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Код:
j:=j+1; { Увеличение счётчика Джи на единицу }
k:=k+1; { Увеличение счётчика Ка на единицу }
СтудПом вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java. Найти в тексте слова, заканчивающиеся на заданную букву. Помогите, написать комментарии к программе lenulichkal Помощь студентам 1 05.12.2014 08:36
Помгите написать комментарии к готовой программе! Stasy_BMT Помощь студентам 0 06.06.2012 22:02
Нужно написать комментарии к программе на С#. Благодарна!!! Polin@ Помощь студентам 2 28.12.2010 01:37
Написать комментарии к программе Space1 Общие вопросы C/C++ 1 03.05.2010 13:35