Здравствуйте, Roman Odaisky, Вы писали:
RO>Вот самый правильный алфавитонезависимый язык!
Вот тебе программа:
,>,>,>,-[>+>+<<]>>-<<<[>++<]<<[>>>>[<+>>>+<<]>>[<<+>>]<<<<<<]>[-<+][>>>>>[<<+>>>+<]>[<+>]<<<<<<]>>>.
Угадай, чего делает. Найдешь ошибку — пришли исправленный вариант.
11.04.08 16:52: Перенесено модератором из 'Коллеги, улыбнитесь' — Кодт
Здравствуйте, TheEvilOne, Вы писали:
TEO>TEO>,>,>,>,-[>+>+<<]>>-<<<[>++<]<<[>>>>[<+>>>+<<]>>[<<+>>]<<<<<<]>[-<+][>>>>>[<<+>>>+<]>[<+>]<<<<<<]>>>.
TEO>Угадай, чего делает. Найдешь ошибку — пришли исправленный вариант.
1) Вы уверенны, что здесь только одна ошибка?
2) Вы обратили внимание, в каком форуме это сообщение?
Здравствуйте, ДимДимыч, Вы писали:
ДД>1) Вы уверенны, что здесь только одна ошибка?
ДД>2) Вы обратили внимание, в каком форуме это сообщение?
1) Я
знаю, что в приведенном коде есть одна небольшая логическая ошибка.
2) А Brainf%ck предложил использовать не я. К тому же, если модераторы перенесут тему обратно, то будет кстати.
TEO>Вот тебе программа:
TEO>TEO>,>,>,>,-[>+>+<<]>>-<<<[>++<]<<[>>>>[<+>>>+<<]>>[<<+>>]<<<<<<]>[-<+][>>>>>[<<+>>>+<]>[<+>]<<<<<<]>>>.
TEO>
TEO>Угадай, чего делает. Найдешь ошибку — пришли исправленный вариант.
Прикольная фигня, она где-то еще используется реально, имею ввиду такой язык используется где-то хоть?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, PaulMinelly, Вы писали:
TEO>>Вот тебе программа:
TEO>>TEO>>,>,>,>,-[>+>+<<]>>-<<<[>++<]<<[>>>>[<+>>>+<<]>>[<<+>>]<<<<<<]>[-<+][>>>>>[<<+>>>+<]>[<+>]<<<<<<]>>>.
TEO>>
TEO>>Угадай, чего делает. Найдешь ошибку — пришли исправленный вариант.
PM>Прикольная фигня, она где-то еще используется реально, имею ввиду такой язык используется где-то хоть?
Ну обычно его применяют строго по названию
Здравствуйте, ДимДимыч, Вы писали:
ДД>Здравствуйте, TheEvilOne, Вы писали:
TEO>>1) Я знаю, что в приведенном коде есть одна небольшая логическая ошибка.
ДД>Если код последнего введенного символа не единица, то попадаем в бесконечный цикл.
Моя ошибка очень проста — не было вычитания 1 из текущей ячейки при закрытии цикла.
(Хотя я считаю, что BF-интерпретатор должен самостоятельно выполнять декремент текущей ячейки при
встрече с оператором ])
Правильный вариант программы:
,>,>,>, //Вводит в четыре первые (зависит от интерпретатора) ячейки четыре значения, назовем их a,b,c,d
- //Отнимает 1 от значения в текущей ячейке (Память: a,b,c,d-1)
[>+>+<<-] //Цикл, в котором копируется значени в 4 ячейке в ячейки 5 и 6, обнуляя 4 ячейку (Память: a,b,c,0,d-1,d-1)
>>- //Отнимает 1 от значения в ячейке 6 (Память: a,b,c,0,d-1,d-2)
<<< //Переход к 3-ей ячейке
[>++<-] //Цикл, в котором в ячейку 4 записывается удвоенное значение 3-ей ячейки (Память: a,b,0,2с,d-1,d-2)
<< //Переход к 1-ой ячейке
[ //Начало цикла со счетчиком в 1-й ячейке
>>>> //Переход к 5-й ячейке
[<+>>>+<<-] //Цикл, в котором на каждом шаге прибавляется 1 к 4-ой и 7-ой ячейкам (Память: a,b,0,2с+d-1,0,d-2,d-1)
>> //Переход к 7-й ячейке
[<<+>>-] //Цикл, в котором в 5-ю ячейку копируется содержимое 7-й ячейки (Память: a,b,0,2с+d-1,d-1,d-2,0)
<<<<<< //Переход к 1-й ячейке (счетчику основного цикла)
-] //Конец цикла со счетчиком в 1-й ячейке (Память: 0,b,0,2с+a*(d-1),d-1,d-2,0)
> //Переход ко 2-й ячейке
[-<+-] //Цикл, в котором в 1-й ячейке формируется значение b/2 (Память: b/2,0,0,2с+a*(d-1),d-1,d-2,0)
[ //Начало цикла со счетчиком в 1-й ячейке
>>>>> //Переход к 6-й ячейке
[<<+>>>+<-] //Цикл, в котором к значению в 4-й ячейке прибавляется, а в 7-ю ячейку
//копируется значение из 6-й (Память: b/2,0,0,2с+a*(d-1)+(d-2),d-1,0,d-2)
> //Переход к 7-й ячейке
[<+>-] //Цикл, в котором копируется значение из 7-й ячейки в 6-ю (Память: b/2,0,0,2с+a*(d-1)+(d-2),d-1,d-2,0)
<<<<<< //Переход к 1-й ячейке
-] //Конец цикла со счетчиком в 1-й ячейке (Память: 0,0,0,2с+a*(d-1)+(b/2)*(d-2),d-1,d-2,0)
>>> //Переход к 4-й ячейке
. //Вывод содержимого 4-й ячейки
Данная программа только лишь выводит результат, подсчитанный по формуле 2*с+a*(d-1)+(b/2)*(d-2).
Данная формула — это правильный ответ на задачу про шнурки с олимпиады по программированию для школьников.
Этот пример показывает, что без указания языков программирования в условии проведения олимпиад,
преподаватели могут с легкостью получить нечто в таком роде, причем проверить это будет необходимо,
так как решение может быть правильным. А проблема преподавателей будет в том, что проверка таких программ
по их тексту — это очень проблематично, что косвенно показывает количество ответов по данной теме
с конкретными ответами.
Здравствуйте, TheEvilOne, Вы писали:
TEO>А проблема преподавателей будет в том, что проверка таких программ
TEO>по их тексту — это очень проблематично, что косвенно показывает количество ответов по данной теме
TEO>с конкретными ответами.
Я хотел ответить, но ты сам все расписал.. просто я не читаю постоянно "Этюды"...
Программа, на самом деле — так себе...
Боюсь, что для более-менее сложного задания вам придется посидеть недельку, прежде чем решить задачу на Брейнфаке.
На задачу
MinMaxАвтор: Laurel
Дата: 05.04.05
у меня ушло 3 дня, так что не думаю, что кто-то будет решать олимпиадные задачи на нем.
... << RSDN@Home 1.2.0 alpha rev. 787>>