KChernov

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору akaGM Цитата: надо исполнить 1 do i=1,n1 2 do i=1,n2 ... N-1 do i=1,n_1 N do i=1,n | Ну так можно же и в статике эту задачу решить - просто задать вложенных циклов с избытком Но мне это решение не нравится (зато подозреваю, что оно самое быстрое). Цитата: тут ты совершенно прав, но что-то при N>3 испугался громоздкости и завис. в общем общую формулу мне получить не удалось... | Собственно получается что-то аналогичное переводу в другую систему счисления, но с переменным основанием. Как-то так: Код: program fMloop implicit none integer,parameter::N=5 integer::loopsCount(N) = (/3,7,4,9,5/), loopsCountI(N) integer l, i, tmp do i=0,product(loopsCount)-1 tmp = i do l=1,N loopsCountI(l) = mod(tmp,loopsCount(l))+1 tmp = tmp/loopsCount(l) end do ! тут делается соответствующая итерация end do end program fMloop |
| Всего записей: 2507 | Зарегистр. 20-04-2004 | Отправлено: 07:57 30-08-2011 | Исправлено: KChernov, 07:59 30-08-2011 |
|