Чему равен остаток от деления на ноль x mod 0=?

Тема в разделе "WASM.HEAP", создана пользователем s_d_f, 20 авг 2011.

  1. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    persicum
    Да неужели? Ну и чему равен x mod 0 согласно следующему рекурсивному определению? Неужели боттом?
    [​IMG]
     
  2. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    l_inc
    Твоя в нуле зависает, этот код я уже давал через оператор while. Делай рекурсию через решето, тогда дойдешь...
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    persicum
    Ну дык анархия ведь, а никакая не демократия? Захочу, отдельным случаем опишу, что, если y=0, то значение функции — pi.
    Функция всё равно задана рекурсивно. Где обещанное решение проблемы?

    Да какая разница, через что её задать? Будет всего лишь ещё один из бесконечного числа способов выдумать некоторую не имеющую отношения к остатку от деления функцию s_d_f_mod, не дающую программисту абсолютно никаких преимуществ.
     
  4. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    То что функция mod является остатком отделения - это только одно из ее свойств.
    Например, квантовый алгоритм Шора использует Фурье преобразования чтобы найти ее период и так далее. А сколько существует методов нахождения mod без деления ?!!


    Решение не имеет особый выход по нулю, над которым можно безнаказанно глумиться. Ваша рекурсивная функция тоже решение проблемы, но только ваша зацикливается и дает 0 в пределе и X если нажать Ctrl+C, что мы уже много раз обсуждали. Вот вам и решение, только оно у вас не наглядно.
     
  5. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    persicum
    Да ну бред. Не существует никаких "особых выходов". Функция — всего лишь множество кортежей. А способ задания — это всего лишь способ задания. Всегда можно задать функцию, которая будет считать якобы "при прочих равных", но давать на самом деле любое желаемое значение для конкретного аргумента.

    Например, функция, дающая pi для нуля, а для всех остальных действительных чисел идентичность:
    id(x) := x+pi-|sgn(x)|*pi
    По аналогии додумаете функцию из #201 сами, чтобы получать для нуля любое желаемое значение без "особых выходов", или подсказать?
     
  6. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Ладно, топинамбур с тобой!
    Как тебе такая функция?

    mod(0,y)=0;

    mod(x,y)={
    if mod(x-1,y)+1<y then return mod(x-1,y)+1 else return 0;
    }
     
  7. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    persicum
    Ой, да ладно. Вы, как ребёнок, нашедший на берегу моря камушек с дырочкой, и решивший, что он обладатель эксклюзивного сокровища. Давайте изменим чуть-чуть Вашу функцию. На такую, например:
    mod(0,y)=0;

    mod(x,y)={
    if mod(x-1,y)+1<y then return mod(x-1,y)+1 else return (mod(x-1,y)+1-y)*2;
    }

    Ну и чему теперь равен остаток от деления на нуль?
     
  8. srm

    srm New Member

    Публикаций:
    0
    Регистрация:
    14 июн 2011
    Сообщения:
    189
    l_inc, оставьте его в покое, пусть порадуется своей глупой гениальной находке. В академию наук отправит своё открытие. Там люди оценят. Все здравомыслящие недалёкие люди поняли, что обсуждать тут нечего.
     
  9. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    l_inc
    За пример и сообразительность хвалю. Вопрос только, с какого бодуна инициализировать сумму решета не нулем, а такой вот ересью? Какие на это основания?

    Давайте прямую x+1 заменим на (х+1)(x-2)/(x-2), а потом получим облом в x=2. Как же так, выходит x+1 особенная функция?
     
  10. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    l_inc
    Пожалуй, я с вами соглашусь, в качестве mod 0 можно рекурсивно получить все что угодно. Это нормально, так как речь идет о расширении, расширять можно как угодно. Но кому нужен например факториал, который в дробной части виляет как синусоида, и кому нужен непредсказуемый mod 0? Если рассматривать mod как подсчет единиц, которые выжили после сгорания очков от перебора за y-1, то при mod 0 как раз и получим 0 - никто не выжил.
     
  11. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    srm
    Человек-то поумнее железяки будет, для которой любая внештатная ситуация - это NaN.
     
  12. srm

    srm New Member

    Публикаций:
    0
    Регистрация:
    14 июн 2011
    Сообщения:
    189
    а с какого бодуна нулём? Какие на это основания?

    Об чём тогда разговор? Приравнивайте a mod 0 = 17. Почему 17? Потому что оно простое! А ещё оно мне нравится! У Вас доводы при выборе нуля примерно такие же.
     
  13. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    persicum
    О. Никаких оснований, и никому не нужен. Хорошо, что мы на этом сошлись. А теперь скажите мне, кому нужен mod, выдающий на нулевой делитель какое-то предопределённое языком программирования число? Трудно что ли if-then-else перед mod'ом в коде впихнуть (и в отдельную ф-ию выделить) с обработкой внештатной ситуации по желанию разработчика?

    Кстати, mod в моём примере вполне предсказуемый. Когда y (делитель) нулевой, он возвращает 2^(x+1)-2. Главное — задокументировать это в описании. А главный вопрос таки в том, кому оно надо.
     
  14. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    srm
    Ну ты совсем не в теме. Ноль у меня - просто подтирание переменной. Или по твоему xor eax,eax зегружает 17?

    С выходом из рекурсии mod(0,y)=0 тоже никто не поспорит.
     
  15. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    l_inc

    Второй вариант видать посложнее будет сломать...
    mod(0,y)=0;

    mod(x,y)={
    if mod(x-1,y)+1=y then return 0 else return mod(x-1,y)+1;
     
  16. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    persicum
    Да я не берусь ломать Ваши варианты. Я говорю, что определить/"обобщить" mod можно как угодно. В результате будет s_d_f_mod с нулевой (а то и отрицательной) полезностью в сравнении с mod. Зачем плодить сущности?
     
  17. srm

    srm New Member

    Публикаций:
    0
    Регистрация:
    14 июн 2011
    Сообщения:
    189
    Почему Вы решили, что её нужно "подтирать"? Да и при чём здесь ксор? Ноль - такая же ересь, как и 17.
     
  18. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    srm
    Креативность на глупости у вас так и прет. Тем временем, вот еще размышления:

    a mod 8 = a and 7
    a mod 4 = a and 3
    a mod 2 = a and 1
    a mod 1 = a and 0

    поэтому

    a mod 0 = a and -1 = a and ...FFFFFFFFF = a
     
  19. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    s_d_f
    Понял, что делать с демократией.

    a mod 0 = a
    a fmod 0 = 0
     
  20. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    srm
    Я сомневаюсь, что вам понятна работа кода #215. Что он дает для 15 mod 4? А для 15 mod 0?

    Слава богу, выкладки #218 куда проще.