function dfs(idx, rest, stack) {
if (rest) {
if (idx) {
idx -= 1;
dfs(idx, rest, stack);
if (rest < data[idx]) return;
stack.push(data[idx]);
dfs(idx, rest - data[idx], stack)
stack.pop();
}
} else
console.log(stack);
}
const data = [1, 2, 3, 8, 7, 4].reverse(), n = 10;
dfs(data.length, n, []);
Procedure Bubble(var A: array of Integer; M: Integer);
# var A: array of Integer - ссылка на A, передаётся в eax
# M: Integer - размер массива, передаётся в ecx
Asm
pushad
dec ecx
mov esi, 1
@1:
mov edi, ecx
mov edx, [eax+edi*4] # mov edx, A[edi], 4-байтные int
@2:
mov ebx, [eax+edi*4-4] # ebx, A[edi - 1]
cmp ebx, edx
ja @3
mov [eax+edi*4-4], edx #mov A[edi - 1], edx
mov [eax+edi*4], ebx # A[edi], ebx # вот и поменялись местами
..............................
"КОРАБЛИК"
consonants = "КРБЛ"
vovels = "ОАИ"
from itertools import permutations
# что за permutations? а вот:
for oai in permutations(vovels):
print(*oai, sep='')
print(sum(1 for krbl in permutations(consonants, 3)) # сколько перестановок согласных по 3
*
sum(1 for oai in permutations(vovels))) # и гласных
value, value2 = random.sample(range(1, 9), 2)
def f(n):
l = [' '] * (n * (n + 1) - 1)
l[n::n + 1] = '\n' * (n - 1)
l[:n] = l[-n:] = l[::n + 1] = l[n - 1::n + 1] = '#' * n
print(''.join(l))
f(5)
def f(n):
l = [[' '] * n for _ in range(n)] # двумерный массив
for shift in range(0, n // 2 + 1, 2):
# рисуем как умеем верхние стороны квадратов
l[shift][shift:n - shift] = '#' * (n - shift * 2)
for i, row in enumerate(l):
for j, ch in enumerate(row):
if ch == '#':
# заполняем симметричные точки
l[j][i] = l[j][n - i - 1] = l[n - i - 1][n - j - 1] = '#'
for row in l:
print(''.join(row))
f(17)
За шесть месяцев я повторил всю школьную математику и алгебру, разобрался с некоторыми темами высшей математики (комбинаторика, теория вероятности, математическая логика), познакомился с утройством компьютера, прочитал две книги по программированию на Паскале и сделал парочку учебных проектов, прошелся по программированию на NASM (писал не очень много, т.к. больше интересовало как все работает), затем освоил С и сейчас продолжаю набивать на нем руку.
>>> import operator
>>> sum(map(operator.eq,'111111111111121','111111111111112'))
13