• C# заменит ли Java?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Возможно, что и никогда - вряд ли многие захотят переходить с Java на C#, равно как и с C# на Java.
    Когда появился C# (в 2003 году), мы перевели на него проект с С++ без колебаний и без особых проблем. С тех пор не жалеем. Идеи переносить его на Java даже не возникало.
    В этом году понадобилось запустить одну из программ проекта на встроенном компьютере с Linux - тоже пошла почти сразу (под Mono). Причин переходить на Java или возвращаться на С++ не возникло.
    Но возможно, что у тех, кто пишет на Java, точно так же не возникает причин переходить на C#.
    Ответ написан
    Комментировать
  • Как массово изменить размер изображений при условии, что они больше заданных значений высоты и ширины?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Я это делаю с помощью Picasa. Если в экспорте указать размер, она уменьшит те изображения, которые нужно, чтобы и ширина и высота укладывались в этот размер. Если размеры для ширины и высоты разные - не знаю.
    Ответ написан
    Комментировать
  • Как назвать переменную?

    Mrrl
    @Mrrl
    Заводчик кардиганов
  • Как задать массив с целыми и вещественными числами?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Не bouble, а double.
    В описании массива пишете
    double *arr2;
    а в инициализации -
    arr2=new double[n];
    Если поменять тип только в одном месте, будет ошибка.
    Ответ написан
    4 комментария
  • Как привести формулу к виду КНФ?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Считать значение формулы при заданных значениях переменных научились? Если да - перебираете все наборы значений (a_1,...,a_n) (их всего 2^n), считаете для каждого значение формулы, и если получился 0 - добавляете в формулу очередную дизъюнкцию ((x_1 xor a_1) or (x_2 xor a_2) or ... or (x_n xor a_n)).
    Ответ написан
  • Как найти вероятность того, что точка находится от центра на расстоянии меньшем r?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    1. Найти площадь области, содержащей все точки, находящиеся от центра на расстоянии, меньшем r
    2. Понять, чему равна вероятность того, что точка попадёт в круг радиуса R
    3. Найти площадь круга радиуса R
    4. Воспользоваться тем, что вероятности пропорциональны площадям.

    Просто интересно, какой из этих пунктов вообще может вызвать затруднения.
    Ответ написан
    Комментировать
  • Как рассчитать какое слово будет сгенерировано?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Всего слов 4^6=4096, так что 5000-го слова не будет. Если бы было, надо было бы перевести 4999 в четверичную систему счисления, и заменить цифры на буквы (0 на q, 1 на w...)
    Ответ написан
    8 комментариев
  • Как решить проблему на С++?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    А откуда взялась задача? Есть ли ссылка на оригинал? Есть ли там примеры?
    Пока впечатление, что авторы хотели чего-то другого.
    Ответ написан
    1 комментарий
  • Как понимать ответ WolframAlpha(пределы)?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Решение Wolfram я не смотрел, но (-8)^2 это не 16, а 64. Возможно, есть ещё ошибки.

    UPD. Посмотрел. Они в качестве (-8)^(1/3) берут не -2, а 2*exp(i*pi/3)=1+i*sqrt(3). Теоретически, имеют право, хотя это не то, что нужно в задаче по матану.
    Ответ написан
    8 комментариев
  • Можно ли в Си инициализировать счетчик массива не последовательными значениями?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Вы хотите цикл, чтобы его счётчик пробегал значения из массива?
    Ничего не получится, придётся писать так:
    int f[F] = {1,12,3,5};
        for (int i=0; i<F ; ++i){
             int v=f[i];
             ...
        }

    (правда, это не совсем С - в С переменные v и i пришлось бы описывать раньше).
    В каком-нибудь С# для этого есть цикл foreach.
    Ответ написан
    3 комментария
  • Что такое "аналитическая функция"?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    В Википедии всё подробно расписано:
    Аналитическая функция
    В комплексной плоскости - функция, дифференцируемая в каждой точке области (примеры: многочлены, exp, sin, cos являются аналитическими на всей плоскости, а sqrt и ln - за пределами луча x <= 0).
    На действительной прямой - бесконечно дифференцируемая функция, в каждой точке совпадающая со своим рядом Тейлора. Годятся почти любые бесконечно дифференцируемые функции, но, например, exp(-1/x^2) не будет аналитической в нуле - там все её производные, а значит, и ряд Тейлора равны нулю.
    Ответ написан
  • Признаки переодичности дроби в произвольной системе счисления?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Когда вы строите дробь a/b, у вас есть последовательность остатков:
    a_0=a%b, a_1=(a_0*p)%b, a_2=(a_1*p)%b,... где p - основание системы счисления. Как только два остатка a_x и a_y совпали - все цифры между ними ((a_x*p)/b, (a_{x+1}*p)/b,...,(a_{y-1}*p)/b) образуют период. Как эффективно найти период такой последовательности - ищите. При небольших b достаточно взять массив M с индексами от 0 до b-1, и для каждого вычисленного остатка проверять ячейку M[a_y]. Если в неё ещё ничего не записали, записать M[a_y]=y. Если там лежит какой-то x, то период найден.
    Есть и другие способы, без использования массивов.
    Ответ написан
    Комментировать
  • В каких числах n деление происходит без остатка?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Получается n=6*m+1 и 6*m+5. Надо воспользоваться тем, что (x+1)^2 mod (x^2+x+1) = x, рассмотреть отдельно случаи n=2*k и n=2*k+1, в каждом умножить обе части на (x-1) и искать P*(x-1) mod (x^3-1). Там x^(3*a+b) mod (x^3-1) = x^b, а в многочлене P после применения первого тождества останется 3 или 4 слагаемых, так что считать несложно.
    Ответ написан
    Комментировать
  • Нужен ли диплом для устройство на работу программистом или важны знания?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Диплом может пригодиться для работы в госучреждениях и для получения рабочей визы. Для коммерческих организаций в России, скорее всего, не нужен, но неизвестно, сколько им осталось существовать.
    Ответ написан
  • В чем разница между List ArrayList и Array?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Размер Array задаётся при создании, и за ним надо специально следить. Доступ к нему чуть быстрее, чем к List. Можно получить указатель на элемент через fixed. Если в Array лежат структуры - можно изменить их поля: A[x].B=c;
    Элемент массива можно передавать в функцию как ref или out.
    Преимущество List в том, что его размер меняется автоматически при добавлении элемента. Менять поля структур в нём нельзя, передавать элементы по ссылке тоже нельзя.
    ArrayList - не generic тип (он пришёл ещё из первой версии C#), поэтому состоит только из объектов. С появлением List стал не очень нужен, разве что для случаев, когда действительно нужно хранить объекты разных типов - но и тогда List< object > его полностью заменит.
    Ответ написан
    2 комментария
  • Как обработать все случаи при решении системы линейных уравнений с двумя неизвестными?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    if (a != 0) {
                        x = e / a;
                    }
                    else {
                        x = f / a;
                    }

    Если a==0, будет деление на 0. Но, возможно, ошибки есть где-то ещё.
    Ответ написан
  • Как сравнить бесконечность?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Это смотря что понимать под словом "сравнить". Если хотите узнать, где больше элементов - в A или A-1, при этом A это действительно "ряд" (бесконечная последовательность), то их всегда одинаково. Если хотите узнать, в каком ряду элементы больше, то надо сравнить соответствующие коробки и посмотреть, в какой значение больше - в A или в A-1. Каких элементов больше, те и победят.
    Например, если A=1,2,3,4,..., то A-1=2,3,4,5,... и A-1 > A во всех индексах. Если A=1/1,1/2,1/3,..., то A-1 < A. Если же ряд более хитрый, например, 1,-2,3,-4,..., то для определения каких индексов больше, надо воспользоваться таким объектом, как неглавный ультрафильтр - отличная штука, но, к сожалению, некоструктивная. В результате появляется объект, являющийся простейшим вариантом гипердействительных чисел, открывающих путь к нестандартному анализу.
    Ответ написан
    Комментировать
  • Как подсчитать кол-во делителей?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Кладём в аккумулятор 1.
    Перебираем числа от 2. Если есть возможность - то только простые, или 2 и нечётные...
    Если наше число x делится на текущее число p, то делим его, пока делится, считаем, сколько раз разделилось (значит, x делился на p^n). Умножаем аккумулятор на n+1.
    Если дошли до такого p, что p^2 > x, то смотрим: если x не равен 1, умножаем аккумулятор на 2.

    Например:
    x=5040, acc=1
    p=2. x делится на 2^4. После деления x=315, acc=5.
    p=3. x делится на 3^2. После деления x=35, acc=5*3=15.
    p=5. x делится на 5^1, После деления x=7, acc=15*2=30.
    p=6. x < p^2, выходим из цикла
    x!=1 => acc=30*2=60.
    Ответ: 60 делителей.

    Если это слишком медленно - изучайте быстрые алгоритмы факторизации.
    Ответ написан
    Комментировать
  • Для чего программисту математика?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Если не будете изучать математику - она и не пригодится. Если будете - пригодится много где, от анализа ДНК и расчёта газовых турбин до компьютерного зрения и игры на бирже. В любом случае будете брать задачи по своим силам.
    И если с математикой в вузе проблем не было, то повторять её специально, "чтоб было", незачем. Вы её уже знаете. И когда решите, что какая-то тема нужна для конкретной задачи, спокойно повторите именно её. Если эта тема встретится несколько раз, то и повторять её будет не надо - она уже будет в голове.
    Ответ написан
    Комментировать
  • Почему рекурсивные алгоритмы работают медленнее своих линейных аналогов?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Совсем не факт, что рекурсивные алгоритмы медленнее. Я только что написал тестовый пример - перебор чисел, все цифры в которых различны. Рекурсивная форма работает примерно на 10% быстрее, чем нерекурсивная, и на её написание ушло в несколько раз меньше времени.
    Ответ написан
    2 комментария