Возможно ли вместо цикла использовать рекурсию? Если да, то как?
static int foo(int s, const int *nom)
{
if (! s)
return 0;
else
return foo(s % nom[0], nom + 1) + s / nom[0];
}
...
static const int nom[] = {500, 100, 50, 10, 5, 2, 1};
printf("%d\n", foo(s, nom));
Значит, если будет стоять задача сравнить два списка (одинаковы ли они), то достаточно вычислить хеш двух списков? Или просто так совпало, что их хеши одинаковые?
Почему нельзя скомпилированную программу запустить на другой ОС?
Как я понял, ядра имеют доступ только к своему L1 кэшу, а если поток будет исполняться на другом ядре, то он не увидит свои объекты, которые находятся в кэше другого ядра
Я правильно мыслю?
Выходит, что на стороне сервера все запросы маршрутизируются через один серверный сокет, забинденый на порту? Как происходит маршрутизация?
int cnt[][] = new int[numBytes][256];
int b[] = new int[arr.length];
for (int j = 0; j < numBytes; j++) {
// подсчитываем количество элементов для каждого значения j-го разряда
for (int i = 0; i < arr.length; i++) {
if (iByteN(arr[i], j) < 255)
cnt[j][1 + iByteN(arr[i], j)]++;
}
//вычисляем позиции cnt[i], начиная с которых будут располагаться элементы
//с соответствующим значением j-го разряда
for (int i = 1; i < 256; i++)
cnt[j][i] += cnt[j][i - 1];
...