Найти - Пользователи
Полная версия: Таблица умножения в шестнадцатеричной системе. Нет абсолютно никаких идей. Помогите пожалуйста, уважаемые форумчане!
Начало » Центр помощи » Таблица умножения в шестнадцатеричной системе. Нет абсолютно никаких идей. Помогите пожалуйста, уважаемые форумчане!
1
inflame
Здравствуйте, уважаемые форумчане! Вчера получил данную практическую работу по информатике, и вот целый день пытаюсь подобраться к решению…

Задача:
Составьте программу на языке Python для получения таблицы умножения в шестнадцатеричной системе счисления.

Буду благодарен любым идеям.
xam1816
inflame
Здравствуйте, уважаемые форумчане! Вчера получил данную практическую работу по информатике, и вот целый день пытаюсь подобраться к решению…Задача: Составьте программу на языке Python для получения таблицы умножения в шестнадцатеричной системе счисления.Буду благодарен любым идеям.
сделайте сначала обычную таблицу умножения
inflame
xam1816
Это действие было моим первым шагом
Но, насколько я понимаю, логика умножения в шестнадцатеричной системе отличается от десятеричной

 for i in range(1, 10):
    for k in range(2, 10):
        print(f'{i} * {k} = {i * k}\t', end='')
    print('')
Rodegast
 >>> print("\n".join([ " ".join([ format(x*y, 'x').zfill(2) for x in range(0x1, 0x10) ]) for y in range(0x1, 0x10) ]))
01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e
03 06 09 0c 0f 12 15 18 1b 1e 21 24 27 2a 2d
04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c
05 0a 0f 14 19 1e 23 28 2d 32 37 3c 41 46 4b
06 0c 12 18 1e 24 2a 30 36 3c 42 48 4e 54 5a
07 0e 15 1c 23 2a 31 38 3f 46 4d 54 5b 62 69
08 10 18 20 28 30 38 40 48 50 58 60 68 70 78
09 12 1b 24 2d 36 3f 48 51 5a 63 6c 75 7e 87
0a 14 1e 28 32 3c 46 50 5a 64 6e 78 82 8c 96
0b 16 21 2c 37 42 4d 58 63 6e 79 84 8f 9a a5
0c 18 24 30 3c 48 54 60 6c 78 84 90 9c a8 b4
0d 1a 27 34 41 4e 5b 68 75 82 8f 9c a9 b6 c3
0e 1c 2a 38 46 54 62 70 7e 8c 9a a8 b6 c4 d2
0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1
inflame
Rodegast
Спасибо вам, добрый человек!
py.user.next
  
>>> for i in range(1, 16):
...     for j in range(1, 16):
...         print('{:02X}'.format(i * j), end=' ')
...     print()
... 
01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
02 04 06 08 0A 0C 0E 10 12 14 16 18 1A 1C 1E 
03 06 09 0C 0F 12 15 18 1B 1E 21 24 27 2A 2D 
04 08 0C 10 14 18 1C 20 24 28 2C 30 34 38 3C 
05 0A 0F 14 19 1E 23 28 2D 32 37 3C 41 46 4B 
06 0C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 
07 0E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 
08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 
09 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87 
0A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 
0B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5 
0C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4 
0D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3 
0E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2 
0F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1 
>>>
xam1816
inflame
Это действие было моим первым шагом
вторым шагом - нужно было расширить диапазон до 16
третьим - ,умножать 10-е числа как обычно,а результаты перевести в 16 -ю систему
из вашего кода должно было выйти:
 for i in range(1, 16):
    for k in range(2, 16):
        print(f'{hex(i)[2:]} * {hex(k)[2:]} = {hex(i * k)[2:]}\t', end='')
    print('')

функция
 hex(число)
переводит в 16-ю систему
inflame
Спасибо вам!
Третий шаг мне не дался…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB