Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Занимательная задача.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Общий раздел > Офф-топик
Flamepayne
Всем доброго дня! Вашему вниманию предлагается задача: имеются две переменные А и В, которые равны определенным числовым значениям. Задача состоит в том, чтобы без использования дополнительных переменных поменять значения А и В местами. Пример:
А = А + В;
В = А - В;
А = А - В; // после выполнения этих трех операторов значения А и В поменяются.
Надеюсь, тема получит продолжение.
З.Ы.: мыслить как 1с-программист приветствуется wink.gif
Ardi
а теперь
Всем доброго дня! Вашему вниманию предлагается задача: имеются две переменные А и В, которые равны определенным СТРОКОВЫМИ значениям. Задача состоит в том, чтобы без использования дополнительных переменных поменять значения А и В местами.
Vofka
Я думаю, сходу писать ответ - это не интересно wink.gif

Вот ещё одна задача. К программированию не относится, но можно извилиной дёрнуть smile.gif :

В подъезд одновременно зашли 2 человека. У одного квартира на 3-м этаже, у другого - на 9-м. Во сколько раз первый доедет быстрее второго? Примечание: в подъезде 2 одинаковых лифта, временем на ускорение-торможение пренебречь.
Flamepayne
Цитата(Vofka @ 06.10.11, 19:50) необходимо зарегистрироваться для просмотра ссылки
Я думаю, сходу писать ответ - это не интересно wink.gif

Вот ещё одна задача. К программированию не относится, но можно извилиной дёрнуть smile.gif :

В подъезд одновременно зашли 2 человека. У одного квартира на 3-м этаже, у другого - на 9-м. Во сколько раз первый доедет быстрее второго? Примечание: в подъезде 2 одинаковых лифта, временем на ускорение-торможение пренебречь.

В 4?

Цитата(Ardi @ 06.10.11, 19:49) необходимо зарегистрироваться для просмотра ссылки
а теперь
Всем доброго дня! Вашему вниманию предлагается задача: имеются две переменные А и В, которые равны определенным СТРОКОВЫМИ значениям. Задача состоит в том, чтобы без использования дополнительных переменных поменять значения А и В местами.

Самый простой:
Сообщить ("А="+В);
Сообщить("В="+А)
31000000.gif
Ardi
3,5
logist
Капец работе, а ведь пятница только завтра...
Ardi
Задача про 12 шаров и 3 взвешивания

Условия:
Есть 12 шаров, 11 одинаковых, 12-й либо тяжелее, либо легче (это неизвестно)
Есть весы, которые бывают в 3-х положениях "больше", "меньше" и "поровну"
Есть 3 взвешивания, которые можно сделать

Необходимо определить какой из шаров - имеет аномальную массу

P.S. Если вы нашли решение вего за пару минут - то решение неправильное.
Flamepayne
Цитата(Ardi @ 06.10.11, 21:06) необходимо зарегистрироваться для просмотра ссылки
3,5

Дано - 9 монет и аптечные весы. Одна из монет отличается по весу от остальных.
За какое минимальное число взвешиваний можно найти эту монету и какой алгоритм поиска.
P.S. Если вы нашли решение вего за пару минут - то решение неправильное.

Минимальное-одно. Ложим на весы 4 с одной, 4 с другой стороны. Если они равны, то ост 9-ая монета и есть искомая - одно взвешивание. 16000000.gif
Ardi
Цитата(Flamepayne @ 06.10.11, 17:21) необходимо зарегистрироваться для просмотра ссылки
Минимальное-одно. Ложим на весы 4 с одной, 4 с другой стороны. Если они равны, то ост 9-ая монета и есть искомая - одно взвешивание. 16000000.gif

То было неправильное условие задачи smile.gif)))
Правильное ниже.
Vofka
Цитата
В 4?

4 smile.gif
Flamepayne
Цитата(Ardi @ 06.10.11, 21:17) необходимо зарегистрироваться для просмотра ссылки
Задача про 12 шаров и 3 взвешивания

Условия:
Есть 12 шаров, 11 одинаковых, 12-й либо тяжелее, либо легче (это неизвестно)
Есть весы, которые бывают в 3-х положениях "больше", "меньше" и "поровну"
Есть 3 взвешивания, которые можно сделать

Необходимо определить какой из шаров - имеет аномальную массу

P.S. Если вы нашли решение вего за пару минут - то решение неправильное.

У меня получилось как-то так:
Если (1-4) <> (5-8) тогда // 1-ое взвешивание
    Если (1-4) > (5-8) тогда //результат 1-ого взвешивания
        Если (1,2,5) <> (3,4,6) тогда // 2-ое взвешивание
            Если (1,2,5) > (3,4,6) тогда // результат 2-ого взвешивания
                Если (1,6) <> (7,8) тогда // 3-ее взвешивание  
                    Если (1,6) > (7,8) тогда // результат 3-его взвешивания
                        // искомый 1 шар
                    иначе
                        // искомый 6 шар
                    КонецЕсли;
                иначе
                    // искомый 2 шар
                КонецЕсли;
            иначе
                Если (7,8) <> (3,5) тогда // 3-ее взвешивание
                    Если (7,8) < (3,5) тогда // результат 3-его взвешивания
                        // искомый 3 шар
                    иначе
                        // искомый 5 шар
                    КонецЕсли;
                иначе
                    //искомый 4 шар;
                КонецЕсли;
            КонецЕсли;
        иначе
            Если 7 <> 1 тогда //3-ее взвешивание
                // искомый 7 шар
            иначе
                // искомый 8 шар
            КонецЕсли;
        КонецЕсли;
    иначе
        Если (1,2,5) <> (3,4,6) тогда // 2-ое взвешивание
            Если (1,2,5) < (3,4,6) тогда // результат 2-ого взвешивания
                Если (1,6) <> (7,8) тогда // 3-ее взвешивание  
                    Если (1,6) < (7,8) тогда // результат 3-его взвешивания
                        // искомый 1 шар
                    иначе
                        // искомый 6 шар
                    КонецЕсли;
                иначе
                    // искомый 2 шар
                КонецЕсли;
            иначе
                Если (7,8) <> (3,5) тогда // 3-ее взвешивание
                    Если (7,8) > (3,5) тогда // результат 3-его взвешивания
                        // искомый 3 шар
                    иначе
                        // искомый 5 шар
                    КонецЕсли;
                иначе
                    //искомый 4 шар;
                КонецЕсли;
            КонецЕсли;
        иначе
            Если 7 <> 1 тогда //3-ее взвешивание
                // искомый 7 шар
            иначе
                // искомый 8 шар
            КонецЕсли;
        КонецЕсли;
иначе
    Если (9,10) <> (1,2) тогда // 2-ое взвешивание  
        Если 9 <> 1 тогда // 3-ее взвешивание
            // искомый 9 шар
        иначе
            // искомый 10 шар
        КонецЕсли;
    иначе
        Если 11 <> 1 тогда // 3-ее взвешивание
            // искомый 11 шар
        иначе
            // искомый 12 шар
        КонецЕсли;
    КонецЕсли;
КонецЕсли;
Ardi
Flamepayne
Угу. Алгоритм проходит проверку.
Flamepayne
Задача: Есть пустой дом. В него заходят два человека, а выходят уже три. Как такое возможно?
С точки зрения биолога: два человека занялись сексом в доме, в результате вышло три человека из дома.
С точки зрения математика: зададим множество "Пустой дом", под которым будем понимать, что в доме есть один человек...
Batchir
Цитата(Flamepayne @ 08.10.11, 5:17) необходимо зарегистрироваться для просмотра ссылки
Задача: Есть пустой дом. В него заходят два человека, а выходят уже три. Как такое возможно?
С точки зрения биолога: два человека занялись сексом в доме, в результате вышло три человека из дома.
С точки зрения математика: зададим множество "Пустой дом", под которым будем понимать, что в доме есть один человек...

С точки зрения 1С - пофиг, главное что описан бизнес-процесс этого события
Процедура РещениеЗадачиГлазами1С(ВерсияМатематика)
    //опишим создание пустого дома
    ПустойДом = Новый ТаблицаЗначений;
    ПустойДом.Колонки.Добавить("Человек");
    Если ВерсияМатематика Тогда
        // среди гастарбайтеров оказался один умный.
        // Он построил тайную комнату, прорыл туннель-дверь.
        // и поселился в этой комнате
        ЖительДома = ПустойДом.Добавить();
        ЖительДома.Человек = "Гастарбайтер";
    КонецЕсли;
    
    // заходят два человека
    ЖительДома = ПустойДом.Добавить();
    ЖительДома.Человек = "житель дома 1";
    ЖительДома = ПустойДом.Добавить();
    ЖительДома.Человек = "житель дома 2";
    Если Не ВерсияМатематика Тогда
        // опишем акт зарождения жизни
        НовыйЧеловекДома = "житель дома ";
        Для каждого ЖительДома Из ПустойДом Цикл
            ЧеловекДома = ЖительДома.Человек;
            НовыйЧеловекДома = НовыйЧеловекДома + СтрЗаменить(ЖительДома.Человек,"житель дома ","");
        КонецЦикла;
        ЖительДома = ПустойДом.Добавить();
        ЖительДома.Человек = НовыйЧеловекДома;
    КонецЕсли;
    
    // опишем выход людей
    Для каждого ЖительДома Из ПустойДом Цикл
        Сообщить("Из дома вышел житель: "+ЖительДома.Человек);
    КонецЦикла;
КонецПроцедуры
Flamepayne
Batchir 12201689.gif
mister-x
хм


а якщо купити 3 шоколадки по 10 руб. - то 10 руб. навариш зверху wink.gif
dobruan
Цитата(mister-x @ 04.11.11, 22:42) необходимо зарегистрироваться для просмотра ссылки
хм


10 руб у Друга
Ardi
10 рублей прикарманили ZOG.
Zaval
Цитата(mister-x @ 04.11.11, 22:42) необходимо зарегистрироваться для просмотра ссылки
хм
а якщо купити 3 шоколадки по 10 руб. - то 10 руб. навариш зверху wink.gif


Ну, знаєте... якщо на форумі навколобухгалтерських програмерів складати активи з пасивами.... Ну, в офф-топіку - припустимо)))

Задача починається зі слова "допустім".
Так от, "допустім", що він ті 100 рублів не загубив, а закрисив.
Він має 100 рублів і дві шоколадки по 10 і винен позичальникам 120 рублів. Що не так?
logist
Не пойму откуда там какие-то 10 рублей
30 - 60 = 100 взял в долг
99 - 30 = 100 потерял
30 - 60 = 50 взял в долг
20 - 30 = 20 шоколадки
60 - 30 = 30 вернул часть долга
---------------
Итого имеем конечное сальдо:
Дт20 - 20
Дт99 - 100
Кт60 - 120
------------------------
Дт 120 Кт 120
Ardi
Бух учет тоже изобретение ZOG.
mister-x
Ті 2 шоколадки в борг не входять smile.gif, тобто реалізувавши їх можна зменшити свій борг на отриману суму. От така, на перший погляд, хитра задачка.
Fynjy
Цитата(logist @ 05.11.11, 2:40) необходимо зарегистрироваться для просмотра ссылки
Не пойму откуда там какие-то 10 рублей
30 - 60 = 100 взял в долг
99 - 30 = 100 потерял
30 - 60 = 50 взял в долг
20 - 30 = 20 шоколадки
60 - 30 = 30 вернул часть долга
---------------
Итого имеем конечное сальдо:
Дт20 - 20
Дт99 - 100
Кт60 - 120
------------------------
Дт 120 Кт 120

Задача из серии сложить не складываемое, долг и средства ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.