Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/254: Рейтинг темы: голосов - 254, средняя оценка - 4.70
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 13:26  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от pycture Посмотреть сообщение
давай. надеюсь строк в 50 уложишься
Занюхни bitxor :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import std.stdio;
 
void main()
{
    int bitxor(int a, int b, int c) {
        return (a + b + c != 1) ? 0 : 1;
    }
 
    int a, b, c;
 
    a = b = c = 0;
 
    foreach (i; 0 .. 8) {
        if (i > 3)
            a = 1;
        if (i == 2 || i == 3 || i == 6 || i == 7)
            b = 1;
        if (i % 2)
            c = 1;
        writeln(a, b, c, ' ', bitxor(a, b, c));
        a = b = c = 0;
    }
}
http://ideone.com/cbrjAL
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 13:32
Цитата Сообщение от pycture Посмотреть сообщение
нельзя применять логические и битовые операторы
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
||
фейл. следущий
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 13:34  [ТС]
pycture, англоязычное сообщество до сих пор не может понять, как вы могли запретить пользоваться iota()'ой и map'ом :
'cause he is a dumb asshead, that's it.
Добавлено через 1 минуту
Цитата Сообщение от pycture Посмотреть сообщение
главное условие! нельзя применять логические и битовые операторы для расчета функции и массивы
В расчёте функции логические операторы участия не принимают.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 13:36
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
bitxor
1 1 1 0
еще один эпичный фейл
хоть бы проверил прежде чем так радостно фейлить

Добавлено через 1 минуту
усложним . без математических операторов (типа + - и пр) вообще.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 13:37  [ТС]
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
C++
1
2
if (i == 2 || i == 3 || i == 6 || i == 7)
    b = 1;
Ну если вы не понимаете:
C++
1
2
3
4
5
6
7
8
if (i == 2)
    b = 1;
if (i == 3)
    b = 1;
if (i == 6)
    b = 1;
if (i == 7)
    b = 1;
Добавлено через 42 секунды
Цитата Сообщение от pycture Посмотреть сообщение
еще один эпичный фейл
Мой косяк.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 13:39
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Ну если вы не понимаете
в дэ даже свитча нет.
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 13:42  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
усложним . без математических операторов (типа + - и пр) вообще
Рассматривать только эту функцию? Или вам важно заполнение переменных в программе?
C++
1
2
3
int bitxor(int a, int b, int c) {
    return (a + b + c != 1) ? 0 : 1;
}
Добавлено через 1 минуту
Цитата Сообщение от pycture Посмотреть сообщение
в дэ даже свитча нет.
Есть. Улучшенная версия с ключевым словом final. Просто я редко использую switch, поэтому про него забыл.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 13:43
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Рассматривать только эту функцию? Или вам важно заполнение переменных в программе?
да только эту. без математики и логических/бинарных операторов
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 14:00  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
да только эту. без математики и логических/бинарных операторов
Способ хитрого кодера тоже не пойдёт?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import std.stdio;
 
void main()
{
    int bitxor(int c, int i) {
        if (i == 2)
            c = 1;
        if (i == 3)
            c = 0;
        if (i == 4)
            c = 1;
        if (i == 5)
            c = 0;
        return c;
    }
 
    int a, b, c;
 
    a = b = c = 0;
 
    foreach (i; 0 .. 8) {
        if (i > 3)
            a = 1;
        if (i == 2 || i == 3 || i == 6 || i == 7)
            b = 1;
        if (i % 2)
            c = 1;
        writeln(a, b, c, ' ', bitxor(c, i));
        a = b = c = 0;
    }
}
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 14:09
это еще что?
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
int bitxor(int c, int i)
функция от трех переменных а не от чего попало
Code
1
x = (a xor b xor c)
не пойдет

Добавлено через 2 минуты
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
30 }
31 }

Не по теме:

приближаемся к 50-ти :D

0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
10.02.2015, 15:39  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
не пойдет
Сдаюсь. Показывай свой чудодейственный F#.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
10.02.2015, 17:08
Цитата Сообщение от Dennis Ritchie Посмотреть сообщение
Показывай свой чудодейственный F#.
а это будет более менее одинакого в любом функциональном (не путать с питоном и дэ) языке
Сдаюсь
дык
Code
1
2
3
4
5
6
7
8
9
10
11
let f = function
    | 0 , 0 , 0 -> 0
    | 0 , 1 , 1 -> 0
    | 1 , 0 , 1 -> 0
    | 1 , 1 , 0 -> 0
    | _         -> 1
 
for a in 0..1 do
    for b in 0..1 do
        for c in 0..1 do
            printfn "%i xor %i xor %i = %i" a b c (f (a, b, c))
http://ideone.com/njLdnB для тех кто в дэ сразу предупреждаю что | это не логический оператор а аналог case в свитче. полностью прозрачный код, легко модифицируется.

как нетрудно заметить хваленый дэ как язык он из себя вообще ничего не представляет и без наличия нужной библиотеки мгновенно наступает ...опа, так что можете передать аглицкому сообществу что они могут продолжать молиться на бананы библиотеки от дэ остаток жизни, а если внезапно не найдут нужную - рыдать что год выдался неурожайным, ибо писать на дэ печально и неинтересно. и при том что это самый простой пример, стоит усложнить задачу и дэ сольет в разы еще сильнее, так что даже библиотеки его не спасут.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,677
Записей в блоге: 9
10.02.2015, 17:44
Цитата Сообщение от pycture Посмотреть сообщение
дык
Шаблоны! Удар ниже пояса! Не считово!
Давай без шаблонов!
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
10.02.2015, 18:17
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Шаблоны! Удар ниже пояса! Не считово!
Давай без шаблонов!
Какие ещё шаблоны?
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,677
Записей в блоге: 9
10.02.2015, 18:38
Цитата Сообщение от korvin_ Посмотреть сообщение
Какие ещё шаблоны?
Тоже верно. Охранки. Всё равно, не считово!

Добавлено через 3 минуты
Тьху. Чё ты меня путаешь. Глаза протёр - шаблоны, как и ожидал.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
10.02.2015, 18:44
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Тоже верно. Охранки. Всё равно, не считово!
Добавлено через 3 минуты
Тьху. Чё ты меня путаешь. Глаза протёр - шаблоны, как и ожидал.
Это не шаблоны (Templates), а образцы (Patterns).
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,677
Записей в блоге: 9
10.02.2015, 18:54
ну, да Patterns. Я их про себя как шаблоны перевожу. Основное значение patterns и есть шаблоны.
Если общепринято по русски образцы - пусть так.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
10.02.2015, 21:25
Цитата Сообщение от pycture Посмотреть сообщение
подозреваю что .map это тоже функция
Фвп же. Конечно. Пусть "метод", но сути не меняет.
Цитата Сообщение от pycture Посмотреть сообщение
написать на дэ функцию вычисляющую результат битовой функции x = (a xor b xor c)
Цитата Сообщение от pycture Посмотреть сообщение
главное условие! нельзя применять логические и битовые операторы для расчета функции
"посчитать функцию. считать нельзя" это как? так? remainder - деление по модулю.
Lisp
1
2
3
4
5
6
7
(define % remainder)
 
(for*/list ([a '(0 1)]
            [b '(0 1)]
            [c '(0 1)])
  (% (+ a b c) 2))
;'(0 1 1 0 1 0 0 1)
Цитата Сообщение от pycture Посмотреть сообщение
дык
ааа, табличное определение... ну от 3х переменных можно, не критично. for*/... изracket умеет таблицы мастерить.
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Шаблоны!
И этот человек дёргал меня за "описание" функций не хорошо, особенно хацкелисту. Ну я не сомневаюсь что pm Вы осилили.
KolodeznyDiver, кста, не знаю почему, но я сегодня вспомнил очевидную вещь. В инфиксной нотации есть дополнительный приоритет "(expr)". В разборе выражения на лиспе это вложенный список, ну и следовательно добвляется вниз по дереву как вложенное мат выражение. Вобщем еще один очевидный плюс лиспа.

Добавлено через 12 минут
pycture, как насчет табличного определения от вычисляемого колличества переменных?
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,677
Записей в блоге: 9
10.02.2015, 21:37
Цитата Сообщение от castorsky Посмотреть сообщение
И этот человек дёргал меня за "описание" функций не хорошо, особенно хацкелисту
Я учёл тонкости перевода. теперь буду знать. Просто, кроме книжек про основы Хаскелля, на русском ничего нет. Читаю по нему только английские книжки/статьи.
Цитата Сообщение от castorsky Посмотреть сообщение
Вобщем еще один очевидный плюс лиспа.
А то как же! Всё в мире являет нам благодать лиспа. Вы уже дочитали книжку "Лисп от нуля до бесконечности"?
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
10.02.2015, 22:49
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Вы уже дочитали книжку "Лисп. от нуля до бесконечности"?
Я не монах, как Вы полагаете. Точку забыли поставить. Фикс.

Добавлено через 1 час 5 минут
если кто еще считает python крутецким языком читать. Сразу покаюсь что наличие батареек часто и меня подталкивает на его использование.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Закрытая тема Создать тему
Новые блоги и статьи
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru