количество прохода циклов
От:
adept_
Дата: 24.05.10 08:21
Оценка:
Здравствуйте!
Подскажите пожалуйста, как подсчитать, чему будет равно Т при
for i1 = 1 to a1 do
for i2 = 1 to a2 do
for i3 = 1 to a3 do
...
for iN = 1 to aN do
inc( T );
то есть у меня N вложенных циклов, и a1 <> a2 <> a3 <> an, внутри последнего — inc( T )
есть ли какая-либо формула расчета проходов циклов?
Спасибо
Re: количество прохода циклов
От:
deniok
Дата: 24.05.10 08:26
Оценка:
Здравствуйте, adept_, Вы писали:
_>есть ли какая-либо формула расчета проходов циклов?
Да есть и довольно простая. Попробуй набрать в любой среде исполнения для n=3 и a1=2, a2=3, a3=5 и посмотреть на результат. В качестве среды можно взять бумажку с ручкой
Re: количество прохода циклов
От:
Аноним
Дата: 24.05.10 08:49
Оценка:
А в чём подвох ?
Re[2]: количество прохода циклов
Здравствуйте, Аноним, Вы писали:
А>А в чём подвох ?
начальное значение Т неизвестно
---
С уважением,
Сергей Мухин
Re[3]: количество прохода циклов
От:
deniok
Дата: 24.05.10 10:08
Оценка:
Здравствуйте, Сергей Мухин, Вы писали:
СМ>Здравствуйте, Аноним, Вы писали:
А>>А в чём подвох ?
СМ>начальное значение Т неизвестно
СМ>
В ленивой семантике это не проблема; ответ будет иметь вид:
inc(inc(inc(...inc(T)...)))
Re: количество прохода циклов
От:
adept_
Дата: 24.05.10 10:38
Оценка:
T = 0
ПРостите, запарился...
конечно же a1*a2*a3...
sorry
Re[2]: количество прохода циклов
Здравствуйте, adept_, Вы писали:
_>T = 0
_>ПРостите, запарился...
_>конечно же a1*a2*a3...
неверно.
Если хоть одна aN < 1, то T == 0
наверно надо так:
max(0, a1) * max(0, a2) * max(0, a3) ...
---
С уважением,
Сергей Мухин
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить