Экспериментирую с KUnit. Скачал ядро отсюда. Пытаюсь сделать тестирование с помощью KUnit по этой инструкции. Пункт с выполнением ./tools/testing/kunit/kunit.py run отрабатывает, вроде бы, хорошо. Выхлоп:
Согласно инструкции, сперва должен сгенерироваться .config, но конфиг не генерируется. Я подозреваю, что .kunitconfig вообще не играет никакой роли. Я даже попробовал закомментировать всё содержимое .kunitconfig:
Есть задача. Коротенько о том, что надо сделать: на вход даётся строчка A и строчка B. Пример для А: «143175», для В: «120». Нужно между символами в строчке А вставить минимальное количество знаков «+» чтобы получить В. В данном случае: 14 + 31 + 75 = 120. На выходе программа должна возвращать минимальное количество плюсов. Количество символов в А не больше 1000, значение В не больше 5000. Время работы программы должно быть меньше 1 секунды.
Пример 2: А=«5025», В=«30». 5 + 25 = 30. Минимальное количество плюсов: 1.
Пример 3: А=«999899», В=«125». 9 + 9 + 9 + 89 + 9 = 125. Минимальное количество плюсов: 4.
Я написал такую программу:
checkPluses :: Int -> Int -> Int -> String -> String -> Bool
checkPluses result pVal 0 "" xs = pVal + (read xs :: Int) == result
checkPluses result pVal plusCount "" xs =
checkPluses result pVal plusCount [head xs] (tail xs)
checkPluses result pVal plusCount xs xs'
| pVal > result = False
| (length xs' < plusCount) = False
| (checkPluses result (pVal + (read xs :: Int)) (plusCount - 1) "" xs') ==
False = checkPluses result pVal plusCount (xs ++ [head xs']) (tail xs')
| otherwise = True
checkPlus :: String -> String -> Int -> Bool
checkPlus xs res pluses =
checkPluses (read res :: Int) 0 pluses "" xs
searchPlusesIter :: Int -> String -> String -> Int
searchPlusesIter pluses xs res
| checkPlus xs res pluses == True = pluses
| otherwise = searchPlusesIter (pluses + 1) xs res
searchPluses :: String -> String -> Int
searchPluses = searchPlusesIter 0
Пример работы программы:
λ> searchPluses "143175" "120"
2
Моя программа по сути наивно перебирает количество плюсов и смотрит на выход. Для первого примера она проверяет 1 + 43175 != 120, потом проверяет 14 + 3175 != 120, и т.д. Потом проверяет два плюса: 1 + 4 + 3175 != 120, 1+ 43 + 175 != 120, ..., 14 + 3 + 175 != 120, 14 + 31 + 75 == 120. И возвращает количество плюсов. Программа работает, но очень медленно.
Почему то народ на этом ресурсе любит обсуждать Илона Маска и его ракеты и в то же время не замечают других людей работающих в сфере космоса. Тут, буквально вчера, Китайская Народная Республика запустила ещё один искусственный спутник земли Shiyan-6.
За неделю Китай успешно вывел на орбиту 2 спутника
Shiyan-6 был запущен на орбиту для изучения околоземного пространства и тестирования космического оборудования. Этот аппарат является вторым спутником этой серии. Предыдущий запуск серии Shiyan (Xinjishu Shiyan-G и Xinjishu Shiyan-H) прошел в конце мая. Цель данных аппаратов — это испытание новых технологий передачи данных и наблюдение за Землей.
Стоит отметить, что в последнее время Китай активно запускает на орбиту свои аппараты. Так, несколько дней назад, 3 июля, страна вывела на орбиту Земли спутник серии спутник Gaofen. Эти космические аппараты предназначены для сбора специальных данных, которые в будущем используются в сельском и лесном хозяйстве, а также для мониторинга окружающей среды.
Тут случилось мне обновиться с texlive 2019 до texlive 2020 на gentoo. И приключилось вот это:
Package babel Warning: No hyphenation patterns were preloaded for
(babel) the language `Russian' into the format.
(babel) Please, configure your TeX system to add them and
(babel) rebuild the format. Now I will use the patterns
(babel) preloaded for english instead on input line 28.
Полный вывод здесь. Но пакет с поддержкой русского языка установлен:
* dev-texlive/texlive-langcyrillic
Latest version available: 2020
Latest version installed: 2020
Size of files: 3 110 KiB
Homepage: http://www.tug.org/texlive/
Description: TeXLive Cyrillic
License: GPL-1 GPL-2 LPPL-1.3 LPPL-1.3c MIT public-domain TeX-other-free
Пробовал снести texlive и установил заново. Ничего не поменялось. Как можно прикрутить поддержку переносов? Текст tex-файла здесь.
Пытаюсь понять алгоритм хеш-функции из ГОСТ Р 34.11-94. Текст можно посмотреть здесь: http://docs.cntd.ru/document/1200004857 .
Пытаюсь разобрать пример А.3.1. Разобрался до генерации ключа К1, а вот сгенерировать ключ К2 не получается. Согласно тексту ГОСТ-а нужно XOR-ить Х1 и Х2. Мой вопрос: Что тут есть Х1 и Х2? Насколько я понимаю Х1 здесь
6E 65 6C 20
73 69 68 54,
а Х2 это
3D 68 74 67
20 73 69 20.
Так это или нет?
На учёбе дали задание сделать rpm пакет для CentOS 8 из пути. Пример: есть /usr/bin/some_app - это готовая программа. Нужно сделать из этого пути rpm пакет так, чтобы можно было установить эту программу по тому же пути. Я почитал, но везде пишут про делание rpm-ов из исходников. Прошу помощи как это сделать.