LINUX.ORG.RU

Сообщения toady2

 

Маски git/bash

Форум — General

Хочу, чтобы git игнорировал файлы с именами [0-9]+ (т.е. состоящими только из цифр, напр. 36 годится, а 36.с нет). Но gitignore понимает только башевские паттерны, в которых непонятно как такое задать.

Ну если нельзя [0-9]+, то хотя бы [^\.]+ (файлы без расширения).

toady2
()

Как уменьшить шрифт в схеме Tango?

Форум — Linux-org-ru

(имею в виду схему Tango на этом форуме)

toady2
()

[Haskell] sumDivisors

Форум — Development

Нужна функия суммы делителей натур. числа. Вместо обычного

sumDivisors n = sum [ k | k <- [1..(n `div` 2)], n `mod` k == 0 ]
лучше проверять делители не до n/2, а до sqrt(n/2), причем если нашли делитель k, то n/k тоже будет делителем. Таким способом исчерпываются все делители. Но надо следить, чтобы один делитель не учитывался дважды. На си это выглядит так:
uint sumDivisors(uint n)
{
    uint m = (uint)sqrt(n);
    uint k = 2, sum = 1, tmp;

    for (; k <= m; ++k)
        if (!(n % k)) {
            sum += k;
            if (k != (tmp = n/k))
                sum += tmp;
        }

    return sum;
}

(Замечю, что работает это значительно быстрее перебора всех делителей до n/2, особенно на больших n.) На хаскеле я новичок и написал так:
sumDivisors n = 1 + sum' [ k + m | k <- [2..sq],
                                   n `mod` k == 0,
                                   let t = n `div` k
                                       m = if t /= k then t else 0 ] where
    sq = floor . sqrt . fromIntegral $ n
Можно это как-нибудь попроще, покрасивее записать (не в ущерб скорости)?

 

toady2
()

Проблема с time и stderr

Форум — General

Хочу перенаправить вывод time в файл. Пишу

time ./a.out 2>file
не помогает. Файл пустой, а на экран пишется. Пробовал
time ./a.out >file 2>&1
не помогает.

toady2
()

RSS подписка на новые темы