def multi(x, y):
return int(x) * int(y)
def karatsuba(x, y):
x = str(x)
y = str(y)
n = max(len(x), len(y))
if n == 1:
return multi(x, y)
half_n = n // 2
x_l = x[:-half_n]
x_r = x[-half_n:]
y_l = y[:-half_n]
y_r = y[-half_n:]
if x_l == '':
x_l = 0
if x_r == '':
x_r = 0
if y_l == '':
y_l = 0
if y_r == '':
y_r = 0
sum_x = (int(x_l) + int(x_r))
sum_y = (int(y_l) + int(y_r))
Res1 = karatsuba(x_l, y_l)
Res2 = karatsuba(x_r, y_r)
Res3 = karatsuba(sum_x, sum_y)
return ((pow(100, half_n) * Res1) + (pow(10, half_n) * (Res3 - Res1 - Res2)) + Res2)
function getRandomSet(lo, hi, n) { // я привык к тому, что min и max - функции )))
var res = new Set();
while (res.size < n) res.add(Math.floor(Math.random() * (hi - lo + 1)) + lo);
return res;
}
console.log(getRandomSet(0, 9, 5));
или мне нужна отдельная таблица, в которой будет фиксироваться именно разница, и уже по ней строить график?
from itertools import groupby
from operator import itemgetter
l = [(1, 1), (1, 2), (2, 1), (2, 3), (2, 5), (2, 7)]
for p, q in groupby(l, itemgetter(0)):
print(p, list(map(itemgetter(1), q)))
# для длинного хвоста
tail = (None, None)
for r in 0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6: # да, вот такой хреновый гпсч
print("%02x" % r)
tail = tail[1:] + (r,)
if tail == (0xd4, 0xe5):
break
# для короткого хвоста
t = None
for r in 0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6:
print("%02x" % r)
if t == 0xd4 and r == 0xe5:
break
t = r