Целочисленная арифметика. Часть 2

Слайд 3

🔢 Обработка цифр числа

При помощи операторов // (целочисленное деление) и % (остаток от деления) можно вычислить любую цифру числа.


📗 Пример: двузначное число

num = 17
a = num % 10      # последняя цифра
b = num // 10     # первая цифра

print(a)
print(b)

Вывод:

7
1
💡 Запомни:
  • Последняя цифра числа вычисляется как num % 10.
  • Чтобы “срезать” последнюю цифру, делим число нацело на 10: num // 10.

📘 Пример: трёхзначное число

num = 754
a = num % 10            # последняя цифра
b = (num % 100) // 10   # средняя цифра
c = num // 100          # первая цифра

print(a)
print(b)
print(c)

Вывод:

4
5
7

Здесь программа выводит последнюю, среднюю и первую цифры числа — именно в таком порядке.


📐 Алгоритм получения цифр n-значного числа

Можно определить каждую цифру n-значного числа num с помощью последовательного деления и взятия остатка:

  • Последняя цифра: num % 10
  • Предпоследняя цифра: (num // 10) % 10
  • Предпредпоследняя цифра: (num // 100) % 10
  • Третья цифра: (num // 10 ** (n - 3)) % 10
  • Вторая цифра: (num // 10 ** (n - 2)) % 10
  • Первая цифра: num // 10 ** (n - 1)

Общая формула для i-й цифры числа:

(num // 10 ** (n - i)) % 10
📊 Здесь:
  • n — количество цифр в числе
  • i — позиция цифры, считая слева (1 — первая цифра, n — последняя)

📙 Альтернативный способ

Можно также использовать деление с остатком, но в другом порядке:

  • Последняя цифра: num % 10
  • Предпоследняя цифра: (num % 100) // 10
  • Предпредпоследняя цифра: (num % 1000) // 100
  • Третья цифра: (num % 10 ** (n - 2)) // (10 ** (n - 3))
  • Вторая цифра: (num % 10 ** (n - 1)) // (10 ** (n - 2))
  • Первая цифра: (num % 10 ** n) // (10 ** (n - 1))

Общая формула для i-й цифры числа:

num % 10 ** (n + 1 - i) // (10 ** (n - i))
⚙️ Оба алгоритма работают одинаково корректно — выбирай тот, который тебе проще запомнить.