Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2016, 20:03   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Кто-то еще условие не читает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2016, 20:11   #12
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Чисто поржать, на JS можно так:
Код:
while ( (function(){
  b = a + b;
  a = b - a;
  b = b - a;
  return 0;  
})() ) {console.log('mew')}
Могу ошибаться, но на руби вроде можно так исполнить:
Код:
while ( [a,b]=[b,a] && 0 ) {;}
Понятно, что не алгоритмические решения =)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 29.01.2016, 20:48   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Iron Monk, так тоже нельзя. Код разрешен только в местах с квадратными скобками.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 29.01.2016, 20:49   #14
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
while (
  ( ( b += a ) || 1 ) &&
  ( ( a = b - a ) || 1 ) &&
  ( ( b = b - a ) || 1 ) && 0
);
вот так точно можно)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 29.01.2016, 21:45   #15
unprox
Новичок
Джуниор
 
Регистрация: 29.01.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Код:
while (
  ( ( b += a ) || 1 ) &&
  ( ( a = b - a ) || 1 ) &&
  ( ( b = b - a ) || 1 ) && 0
);
вот так точно можно)
Нельзя
unprox вне форума Ответить с цитированием
Старый 29.01.2016, 21:52   #16
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Цитата:
Нельзя
Почему?
Уточните тогда конкретнее, что нельзя, а что можно.

От себя вариант решения - зацепиться за адреса расположения переменных (но такой вариант будет рабочим при ряде условных оговорок).

Последний раз редактировалось Базиля; 29.01.2016 в 21:56.
Базиля вне форума Ответить с цитированием
Старый 29.01.2016, 22:02   #17
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

)))
Код:
var
 a, b: Integer;
begin
    a:= 5;
    b:= 10;
   while not DirectoryExists('c:\lohi') do
           begin
            b:= a + b;
            a:= b - a;
            b:= b - a;
            CreateDir('c:\lohi')
           end;
   ShowMessage(IntToStr(a)+ ' ' +IntToStr(b));
end;
Iron Monk вне форума Ответить с цитированием
Старый 29.01.2016, 22:06   #18
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Почему?
Уточните тогда конкретнее, что нельзя, а что можно.
Думаю, что подразумевается в скобках после while наличие только логического условия, причём такого, чтобы цикл выполнился только 1 раз.
Я тоже кумекал пару часов, даже программку на Ц++ понаписал. Пробовал плясать и от значения указателей. Голова болеть начала... Нуегонах, вызвал проститутку. Пятница жэ...

Цитата:
)))
Код:
var
 a, b: Integer;
begin
    a:= 5;
    b:= 10;
   while not DirectoryExists('c:\lohi') do
           begin
            b:= a + b;
            a:= b - a;
            b:= b - a;
            CreateDir('c:\lohi')
           end;
   ShowMessage(IntToStr(a)+ ' ' +IntToStr(b));
end;
О таком решении я тоже думал, только вместо каталога подразумевался мьютекс. Но, думаю, что такие танцы выходят за пределы "условного" языка программирования, который подразумевает, что вокруг программы нету ничего. Если б был доступ к внешним ресурсам (хватило бы регистров CPU, inline-ассемблера), задача была б ничтожной.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 29.01.2016 в 22:11.
min@y™ вне форума Ответить с цитированием
Старый 29.01.2016, 22:11   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
DirectoryExists('c:\lohi')
Ога, я под столом А вдруг лохи уже другими лохами создана?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.01.2016, 22:14   #20
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ога, я под столом А вдруг лохи уже другими лохами создана?
)))GUID
Iron Monk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логическая задача Павел Шилин Помощь студентам 1 24.10.2012 21:58
Логическая задача Эльдар 18 Помощь студентам 4 10.06.2011 17:30
Логическая задача FCShadow Помощь студентам 3 23.12.2010 17:54
логическая задача. Karlsson))) Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2010 10:34
Логическая задача Senator Помощь студентам 1 06.06.2008 04:01