• Почему программа зацикливается?

    @redcircle
    Ответ 105263157894736842
    Неудивительно, что программа виснет.

    Правильный поиск такой:

    long long q = 20;
    while ((q-4) % 19) q *= 10;
    long long answer = ((q-4)/19) * 10 + 2;
    Ответ написан
    Комментировать
  • Почему программа зацикливается?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Потому что while (1) - это бесконечный цикл.
    Ответ написан
    Комментировать
  • Почему программа зацикливается?

    @galaxy
    Подсказка: число немаленькое.

    spoiler

    Пусть искомое числоa = 10*x + 2
    Тогда 2*10^n+x = 2(10*x+2) (переставили 2 в начало, n - число цифр в x)
    Т.е. 2*10^n-4 = 19*x - нужно найти n, чтобы 2*10^n-4 делилось на 19.
    Напишите такую программу

    Ответ написан
    1 комментарий
  • Какой язык изучать для программирования микроконтроллеров?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Если серьезно углубляться - то C/C++, Assembler
    JS/Python в контексте разработки для микроконтроллеров - чисто поиграться...
    Ответ написан
    Комментировать
  • Есть апп, задающий ребёнку развивающие задачки, а в случае успешного решения задачки ставящий мультик с ютуба?

    Adamos
    @Adamos
    Ваш "компромисс" не решает проблему, а обостряет ее. Решая задачки ради мультиков, ребенок их возненавидит (задачи, а не мультики). Вы ее просто превращаете в крысу, которой нужно давить на рычажок, чтобы стимулировать центр удовольствия в мозгу.

    Оттаскивайте ребенка от телевизора и планшета не запретами и ограничениями, а предлагая другие интересные занятия. В том числе развивающие. И занимайтесь с ним сами так много, как можете. Иначе дальше будет только хуже.

    Моей сейчас семь, мультики любит, но без фанатизма. Мы успешно прошли все подшивки "Школы семи гномов", рекомендую. Из развивающих игрушек использовали разве что GComprix, и то очень умеренно. Зато настольных игр у нее полный шкаф. Для вашего возраста уже кое-что можно брать - "Доббль", например.

    В четыре года мы взяли букварь, и дочь читала по странице каждый вечер. Потом - мы читаем сказку на ночь. До сих пор последний час перед сном - час чтения. Сначала дочь, потом мы. К семи годам читает бегло, с выражением, а главное - с удовольствием. Школьные уроки - в охотку и с интересом.

    Нельзя приставить к ребенку автомат и рассчитывать, что он будет развиваться. Ничего так не выйдет. Воспитание такого ребенка, каким хочешь его видеть - это труд, ежедневный и упорный. Если же вам всего лишь хочется, чтобы ребенок не мешал - ну, это-то устроить несложно. Сложности будут потом.
    Ответ написан
    6 комментариев
  • Что значит открытый ключ сертификата подписанный закрытым ключом ЦС?

    @pfg21
    ex-турист
    у ЦС есть два комплиментарных друг друг ключа: закрытый и открытый.
    открытый ключ ЦС рассылает по пользователям с помощью доверенных средств.

    чтоб удостверить твой сертификат ЦС его подписывает с помощью закрытого ключа и прикладывает эту подпись к твоему сертификату.

    ты общаясь с некоторым пользователем передаешь ему свой сертификат и удостоверяющую подпись ЦС.

    подпись ЦС можно проверит с помощью открытого ключа ЦС, имеющегося у пользователя, значит можно довериться твоему сертификату как тебе.

    нужно чтобы упростить рабооту. ты напрямую не работаешь с каждым пользователем.
    а ЦС может с помощью одного ключа удостоверить кучу клиентов.
    Ответ написан
    6 комментариев
  • Что значит открытый ключ сертификата подписанный закрытым ключом ЦС?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    что ЦС зашифровал своим ключом?

    Ничего :)

    CA подписал сертификат, сформированный на основе запроса на сертификат, переданного ему. Ключ же данного сертификата генерируется в момент формирования запроса на сертификат. Да, бывает что CA генерит и ключи тоже, но это вещь, которой доверить нельзя.

    Зачем же тогда нужен CA?

    СA своим авторитетом (разнятся CA только авторитетностью) подтверждает подлинность представленной ему в CSR информации и формирует на его основе сертификат. Технически разницы между Thawte и "Васян Инкоропрейтед" нет, разница только в том, кто кому верит. А сам сертификат - это просто информационный контейнер, защищенный от изменения.
    Ответ написан
    Комментировать
  • Чем отличается TrueNAS Core от TrueNAS Enterprise?

    У них на сайте есть пдфка со сравнением:
    https://www.truenas.com/truenas-core/#TrueNAS-PDF-...
    61c58fc5e30b0742260161.png
    Ответ написан
    Комментировать
  • Паралельная работа в Windows, один человек через RDP, второй, как локальный комп?

    @Drno
    Легально только для Винсервер

    Фактически - можно с помощью rdpWrapper активировать мультилогин на обычной винде.
    Программы общие
    Ответ написан
    Комментировать
  • Как получить GMT+3 время в миллисекундах?

    @rPman
    #include <chrono>
    ...
    using namespace std::chrono;
    
    milliseconds ms = duration_cast< milliseconds >(
        system_clock::now().time_since_epoch()
    );
    unsigned __int64 count=ms.count();

    конвертнуть в нужную timezone to_local либо просто добавив (или вычесть?) заранее посчитанное количество миллисекунд
    Ответ написан
    3 комментария
  • Запуск программы только если нет запущенного экземпляра у пользователя bat скрипт?

    @Olgeir
    Цепочка find'ов проблему не решит?
    | find /I /N "program.exe">NUL | find /I /N "%username%">NUL
    Ответ написан
    2 комментария
  • Как составить шестнадцатеричное число из байтов?

    includedlibrary
    @includedlibrary
    0xAA имеет тип int (как и все константы: 0xab, 0xcd, 0xef), принимает при сдвиге отрицательное значение. Нужно явно указать тип 0xAA
    #include <stdio.h>
    
    int main(void) {
      unsigned long int a = 0;
    
      a = a | ((0xAB) << 0);
      printf("%lX\n", a);
      a = a | ((0xCD) << 8);
      printf("%lX\n", a);
      a = a | ((0xEF) << 16);
      printf("%lX\n", a);
    
      a = a | ((unsigned long)0xAA << 24);
      printf("%lX\n", a);
    
      return 0;
    }
    Ответ написан
    1 комментарий
  • Сколько килобайтов существует в природе?

    @deliro
    2**(8*1024) == 1090748135619415929462984244733782862448264161996232692431832786189721331849119295216264234525201987223957291796157025273109870820177184063610979765077554799078906298842192989538609825228048205159696851613591638196771886542609324560121290553901886301017900252535799917200010079600026535836800905297805880952350501630195475653911005312364560014847426035293551245843928918752768696279344088055617515694349945406677825140814900616105920256438504578013326493565836047242407382442812245131517757519164899226365743722432277368075027627883045206501792761700945699168497257879683851737049996900961120515655050115561271491492515342105748966629547032786321505730828430221664970324396138635251626409516168005427623435996308921691446181187406395310665404885739434832877428167407495370993511868756359970390117021823616749458620969857006263612082706715408157066575137281027022310927564910276759160520878304632411049364568754920967322982459184763427383790272448438018526977764941072715611580434690827459339991961414242741410599117426060556483763756314527611362658628383368621157993638020878537675545336789915694234433955666315070087213535470255670312004130725495834508357439653828936077080978550578912967907352780054935621561090795845172954115972927479877527738560008204118558930004777748727761853813510493840581861598652211605960308356405941821189714037868726219481498727603653616298856174822413033485438785324024751419417183012281078209729303537372804574372095228703622776363945290869806258422355148507571039619387449629866808188769662815778153079393179093143648340761738581819563002994422790754955061288818308430079648693232179158765918035565216157115402992120276155607873107937477466841528362987708699450152031231862594203085693838944657061346236704234026821102958954951197087076546186622796294536451620756509351018906023773821539532776208676978589731966330308893304665169436185078350641568336944530051437491311298834367265238595404904273455928723949525227184617404367854754610474377019768025576605881038077270707717942221977090385438585844095492116099852538903974655703943973086090930596963360767529964938414598185705963754561497355827813623833288906309004288017321424808663962671333528009232758350873059614118723781422101460198615747386855096896089189180441339558524822867541113212638793675567650340362970031930023397828465318547238244232028015189689660418822976000815437610652254270163595650875433851147123214227266605403581781469090806576468950587661997186505665475715792896


    Хватит?
    Ответ написан
    4 комментария
  • Как получить по одному разу те символы, которые входят одновременно во все три последовательности?

    @galaxy
    Например:
    1. Построить таблицу всех символов unsigned char sym[256];, заполнить нулями
    2. Пройтись по первому массиву: для каждого встреченного символа c установить в таблице sym[c] = 1;
    3. Пройтись по второму массиву: для каждого встреченного символа c установить в таблице sym[c] |= 2; (т.е. установить второй бит в 1)
    4. Пройтись по третьему массиву: для каждого встреченного символа c установить в таблице sym[c] |= 4; (т.е. установить третий бит в 1)
    5. Из таблицы вывести символы со значением 7 (т.е. 1112):
    for (size_t c = 0; c < 256; c++)
      if (sym[c] == 7)
        printf("%c", (unsigned char) c);
    Ответ написан
    6 комментариев
  • Обьясните правда ли эти 2 процессоры очень разные по мощности?

    xez
    @xez
    TL Junior Roo
    Процессор - слишком сложная штука для того чтобы делать вывод о его производительности только по количеству ядер и его частоте.
    До пентиума 4, включительно, все было довольно просто: чем больше мегагерц (а потом гигагерц) - тем процессор быстрее. С тех пор прошло уже 20 лет, кстати.
    У Pentium 4EE частота была уже 3.8Ghz и стало как-то понятно, что дальнейшее ее повышение не дает такого сильного прироста к производительности, как и раньше, да и "стоит" значительно дороже. Поэтому производители начали наращивать количество ядер, увеличивать объем кеш-памяти, и, самое главное, улучшать микроархитектуру (микроархитектуру, вобщем-то, они и так всегда улучшали).

    Вот скриншот из AIDA64:
    61c039d0a31d3774198992.png

    Можно заметить, что частоты у процессоров не слишком то коррелируют с их производительностью.

    Поэтому и существуют многочисленные тесты и бенчмарки, по которым можно понять реальную производительность конкретного процессора в конкретной задаче.
    И да, видимо, i5-2500K быстрее чем Athlon II X4 650
    Ответ написан
    Комментировать
  • Книги по сетевому программированию на c++?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Лучшее в этой области - "UNIX разработка сетевых приложений" Стивенса.
    Ответ написан
    Комментировать
  • Как с помощью for добиться такого же результата, что и командой dir?

    wisgest
    @wisgest
    Не ИТ-специалист
    Справку пробовали почитать: for /??

    Выводит папки и все файлы в папке в виде полного пути.

    Файлы— for с ключом /r. Если нужны подкаталоги, используйте ключи /d /r. В одном списке без перехвата вывода команды dir, скорее всего, нельзя.
    Ответ написан
    Комментировать
  • При записи данных в файл, они остаются в кеше ОС для возможности чтения из кеша?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Важно понимать следующее: нет никакой ложки

    С точки зрения Линукса, данные, которые вы якобы пишете на диск - это страницы в памяти, которые помечены как неанонимные (это значит, что на диске есть файл, который с ними связан), и грязные (а это значит, что эти страницы надо сбросить на диск).

    Причем момент, когда произойдет сброс, зависит от кучи факторов - программист на это может влиять таким образом:

    -он может потребовать, чтобы ядро сбросило данные на накопитель и вернуло управление только после того, как накопитель сообщил, что данные сброшены.

    То есть, программист может потребовать, чтобы данные сбросились на диск пораньше, но не попозже.

    После сбрасывания страниц на диск, ОС помечает их как чистые. Это значит, что их можно занять под что-то другое. Можете запустить htop и посмотреть на желтую полоску - это как раз те самые страницы кэша, и их может быть очень много.

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

    А теперь важный вопрос - как же понять, остаются ли данные в кэше после записи. Да легко.

    -очистите кэш sync; echo 1 > /proc/sys/vm/drop_caches
    -посмотрите, что желтая часть на полоске памяти в htop исчезла
    -запустите DD, запишите на диск гигабайт. (dd if=/dev/urandom of=test.raw bs=8M count=128 status=progress)
    -посмотрите, что у вас нарисовался желтый гигабайт
    -можете потом считать этот файл и увидеть офигительную скорость - выше гигабайта в секунду (у меня получается 6, что очевидно говорит о том, что чтение происходило из RAM). Последнее лучше делать, если писали на HDD - потому что хороший SSD может выдать столько же

    Объективно, этот тест показывает, что ДА, записанные данные остаются болтаться в памяти.

    Но при этом, момент, когда эти данные оттуда уйдут, зависит от множества факторов (скажем, если памяти - в обрез, PageCache пойдет под нож в первую очередь). Так что может оказаться полезным использовать другие стратегии - например, mmap
    Ответ написан
    Комментировать
  • Как перевести char в int?

    Если нужно, например, символ цифры 5 певратить в число 5, то вот так:
    char fiveDigit = '5';
    int fiveNumber = fiveDigit - '0';
    Ответ написан
    Комментировать