А.
 def Euclid(x, y): 
    z = x % y 
    return Euclid(y, z) if z else y 
a, b = map(int, input('a b: ').split()) 
print('НОД(%d,%d) = %d' % (a, b, Euclid(a, b))) 
В.
 def Euclid(x, y): 
    k = 0 
    while y: z = x % y; k += 1; x, y = y, z 
    return x, k 
A, B, r = [[64168, 82678], [358853, 591042], [6365133, 11494962], 
[17905514, 23108855], [549868978, 298294835]], [], range(5) 
for i in r: B.append(Euclid(A[i][0], A[i][1])) 
print('    a    ', end = '') 
for i in r: print('%11d' % A[i][0], end = '') 
print('\n    b    ', end = '') 
for i in r: print('%11d' % A[i][1], end = '') 
print('\nНОД(a,b) ', end = '') 
for i in r: print('%11d' % B[i][0], end = '') 
print('\n  Шагов  ', end = '') 
for i in r: print('%11d' % B[i][1], end = '') 
print(); input() 

А уровень что А, что В один и тот же - одинаково примитивный...