Дан массив, содержащий 2015 положительных целых чисел. Напишите ** одном из языков...

0 голосов
69 просмотров

Дан массив, содержащий 2015 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов, значение которых кратно 3. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6,12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов,
значения элементов выводить не нужно.


Информатика (202 баллов) | 69 просмотров
0

и за раз будет задаваться 2015 елементов ?

0

Возможно, числа задаются рандомом

0

здается мне что это алимпиадная задачка

Дано ответов: 2
0 голосов
Правильный ответ

Const
  n=2015;

var
  a:array[1..n] of integer;
  i,k: integer;

begin
  Randomize;
  for i:=1 to n do a[i]:=Random(300)+1;
  if (a[1]  if (a[n]  for i:=2 to n-1 do
    if (a[i-1]
  Writeln('Чсло локальных минимумов равно ',k);
end.

(142k баллов)
0 голосов

A=[]
for i in 1..2015
    a<<Random.rand(200)-100<br>end
p a

k=0
for i in 0...a.size
    if (a[i]%3==0) and ((i==0 and a[0]        k+=1
    end
end
p k

(53.1k баллов)
0

Посему не надо множить количество неприятностей, надеясь на оптимизацию компилятора.

0

ок, учту на будущее что компиляторы могут быть не оптимизированы

0

И еще: никогда не стану писать важных программ в системе, которая проверяет каждый операнд на нулл/нил/не объект: это полный идиотизм, тормозящий работу не то, чтобы в разы - в десятки раз!

0

почему?

0

Написал уже почему. Никому не нужна программа, которая вместо 5с работает 10 минут.

0

а как же тогда писать?

0

А вот это умение и отличает настоящего программиста от школьника или просто ремесленника-кодировщика.

0

я так думаю тут нужен конкретный пример, а то мы возможно о разном говорим.

0

А я думаю, мы и так тут достаточно наспамили, уйдя от темы.

0

Советую Вам разыскать книгу Д.Грис "Конструирование компиляторов для цифровых вычислительных машин", по-моему где-то 1972г. издания - я видел её в интернете как-то. Там большой материл по методам разбора выражений и отдельная глава по оптимизации. Кое-что там устарело, но в целом... когда мне нужен был блок разбора выражений для онлайновой работы, алгоритмы я брал там.