PDA

Просмотр полной версии : Задачка (небольшая) =)


ENFIX
04.07.2007, 20:55
Собственно текст:
Следующий фрагмент программы записывает в переменную Max максимальный элемент в двухмерном массиве Dist размера NxN, заполненном целыми неотрицательными числами:

Max := 0;
for i := 1 to N do
for j := 1 to N do
if Dist[i,j] > Max then Max := Dist[i,j];

На очень медленном компьютере эта программа при N=1000 работала 5 секунд. Оцените время работы этой программы на том же компьютере при N=2000

Варианты ответов:
1) 10 сек.
2) 20 сек.
3) 30 сек.
4) 40 сек.

Хотелось бы увидеть ваш вариант ответов с аргумментированием ;)

ak[id]
04.07.2007, 20:57
4 вариант, т.к. массив двух мерный..

sys32
04.07.2007, 20:58
сорак

Y.Dmitriy
04.07.2007, 20:58
насколько медленном?

ENFIX
04.07.2007, 21:11
Y.Dmitriy, просто медленном =) Неучитывается насколько (теоритически)

Y.Dmitriy
04.07.2007, 21:16
тогда:
4) 40 сек.
потому как массив двумерный...
ЗЫ Спасибки протормозил:)
спать хочу пипец просто...

ak[id]
04.07.2007, 21:20
тогда:
2) 20 сек.
потому как массив двумерный...
не, там же на два и массив и размер N заполненном целыми неотрицательными числами умножается=)

Aristarh Dark
05.07.2007, 09:19
При N=1000 имеем 1 000*1 000 = 1 000 000 элементов массива для проверки. При N = 2000 -> 2 000*2 000 = 4 000 000, т.е. в 4 раза больше. Зависимость квадратичная, следовательно при увеличении N в Y раз (в данном варианте задачи Y=2) затраты времени будут увеличены в Y^2 раз.
Отсюда получаем 5*2^2=20 сек. Вариант ответа 2