Вы не вошли.
Страницы 1
Тема закрыта
Ладно, отвлеку я вас шо ле...
Скинул мне адын знакомый прикольное задание. Палить не буду, а то мало ли что tongue Задание по программированию, институтское кажется. Я попытался его на питончике решить... и решил tongue Вот программа:
import sys
a = [0]
def aaa():
i = 1
if len(a) > 1100:
print a(999)
sys.exit()
while i <= len(a):
a.append(i)
print a
i = i + 1
aaa()
aaa()Программа вроде работает, но... biggrin В оьщем, после 200-го цикла зависает и ещё через 2 минуты вываливается с Memory Error crazy
Внимание вопрос: что в чёрном ящике почему она не работает?
Вопрос озвучен Mandriva-oid в комментах и перенесен мной на форум.
Вне форума
Само задание:
Имеется некий ряд чисел типа 1,1,2,1,2,3,1,2,3,4,1,2,3,4,5 и.т.д Нужно вычислить какой значение у элемента находящегося по заданному индексу (нумерация элементов начинается с 1)?
Предложенные варианты решения:
Sub Probe001() Dim i, j, x As Integer i = 0 j = 1 x = 0 While i < 1000 If (i + j) < 1000 Then i = i + j j = j + 1 Else i = i + 1 x = x + 1 End If Wend MsgBox x End Sub
def sum( i ): return (1 + i) * i / 2 idx = 1000 i = 1 while sum( i ) < idx: i += 1 print 'answer:', idx - sum( i - 1 )
восстановлю справедливость и добавлю код третьего участника.
математическую подоплёку вопроса выложу ниже 
sincerely, Майор Очевидность
Ну спецы.
a=trunk(sqrt(2000)) if a^2+a>2000 then a=a-1 b=(2000-a^2-a)/2 say b
Смысл жизни не 42, смысл жизни 69.
Моё.
Вне форума
Внимание, вопрос: "Что неправильно в прогах?". Почему эти решения не будут засчитаны преподом?
Смысл жизни не 42, смысл жизни 69.
Моё.
Вне форума
1) Всё же номер элемента следует запрашивать. Это требуется и условием задачи, и общими нормами программирования. Программа должна решать наиболее общий круг задач данного класса.
2) Как вы, собственно, собираетесь доказать, что прога решает поставленную задачу правильно? Я даже не про комментарии в проге, а про сам алгоритм.
P.S. Лобовым методом задача тоже решается элементарно, быстро и без всяких рекурсий. Никаких монстров вроде Питона, Си или ВБейсиков не нужно, задачи такого уровня решаются на bc.
Смысл жизни не 42, смысл жизни 69.
Моё.
Вне форума
Тема закрыта. Причина - я 1000 раз объяснил, что просто сделал вброс
На форуме тут обсуждать нечего.
nolinux.w2c.ru - море баттхерта и деаонимизации
Вне форума
Mandriva-oid, звиняюсь что встреваю, однако вот тут выложена математика, стоящая за методом ikkunan salvataja.
вот её реализация (запоздалая, правда) на языке ассемблера, с небольшой оптимизацией, описанной в документе выше.
заранее оговорюсь: на абсолютную математическую строгость не рассчитывайте. всё же, я тут не научный труд писал 
так, например, понятие подпоследовательности не соответствует общепринятому в математике, но очевидно из контекста.
это же касается и понятия полной/неполной последовательности.
ассемблерная реализация (синтаксис интеловский, архитектура x86 686+, обвязка подпрограммы MASMовская):
N proc L: DWORD;
MOV EAX, L;
PUSH EAX;
FILD L;
FADD ST(0), ST(0);
FSQRT;
FSTCW WORD [L+2];
FSTCW WORD [L];
OR WORD [L], 0700h;
FLDCW WORD [L];
FISTP DWORD [ESP];
FLDCW WORD [L+2];
POP ECX;
LEA EDX, [ECX+1];
IMUL EDX, ECX;
SHR EDX, 1;
SUB EAX, EDX;
LEA ECX, [EAX+ECX];
CMOVLE EAX, ECX;
RET;
N endp;all your post are belong to us.
Вне форума
Страницы 1
Тема закрыта
[ Сгенерировано за 0.011 сек, 7 запросов выполнено - Использовано памяти: 1.68 Мбайт (Пик: 1.77 Мбайт) ]