Python. Розв’язування задач на обробку цілих чисел
У даній темі наведено приклади розв’язку найбільш поширених задач, що пов’язані з обробкою цілих чисел. Вивчення теми передбачає базові знання з основ мови Python, а саме використання засобів вводу/виводу, циклів, списків, функцій тощо.
Зміст
- 1. Виділити усі цифри числа та представити їх у вигляді списку
- 2. Визначити задану цифру у цілому числі
- 3. Обчислити суму цифр цілого числа
- 4. Інвертувати ціле число (1234 => 4321)
- 5. Функція GetNumCount(). Визначити кількість цифр у числі
- 6. Функція GetMaxNum(). Визначити максимальну цифру у числі
- 7. Функція GetMinNum(). Визначити мінімальну цифру в числі
- Зв’язані теми
Пошук на інших ресурсах:
1. Виділити усі цифри числа та представити їх у вигляді списку
# Ввід числа n = input("n = ") # Виділити усі цифри числа та представити їх у вигляді списку # Результуючий список L = [] # Цикл формування списку while n>0: number = n%10 # взяти останню цифру L = [number] + L # додати цифру в список n = n/10 # забрати останню цифру з числа print("L = ", L)
Результат виконання програми
n = 83470230 L = [8, 3, 4, 7, 0, 2, 3, 0]
⇑
2. Визначити задану цифру у цілому числі
2.1. Позиція задається зліва
У прикладі визначається задана цифра зліва у заданому числі.
# Задача. Виділити цифру в числі за її позицією. # 1. Ввід числа n = input("n = ") # 2. Ввід позиції (починається з 0) pos = input("pos = ") # 3. Сформувати список цифр числа L = [] # результуючий список # Цикл формування списку L while n>0: L = [n%10] + L # взяти останню цифру та додати цифру в список n = n/10 # забрати останню цифру з числа # 4. Отримати цифру num = L[pos] # 5. Вивести шукану цифру print("num = ", num) print("L = ", L)
Результат виконання програми
n = 239487 pos = 4 num = 8) L = [2, 3, 9, 4, 8, 7]
⇑
2.2. Позиція задається справа
Якщо задано номер позиції справа (починаючи з 0), то у попередньому прикладі 2.1. рядок
...
# 4. Отримати цифру
num = L[pos]
...
потрібно замінити на рядок
# 4. Отримати цифру за зміщенням від кінця num = L[len(L) - pos - 1]
⇑
3. Обчислити суму цифр цілого числа
# Задача. Обчислити суму цифр числа # 1. Ввід числа n = input("n = ") # 2. Обчислити суму summ = 0 # Сума, яка обчислюється # Цикл виділення цифр з числа та обчислення суми while n>0: summ = summ + n%10 # взяти останню цифру та додати цифру до суми n = n/10 # забрати останню цифру з числа # 3. Вивести суму print("sum = ", summ)
Результат виконання програми
n = 12345 sum = 15
⇑
4. Інвертувати ціле число (1234 => 4321)
Інвертувати число означає, що потрібно отримати нове число, яке читається як задане число тільки з кінця до початку.
# Задача. Інвертувати число import math # 1. Ввід числа n = input("n = ") # 2. Утворення нового числа з інвертованого # 2.1. Спочатку потрібно обчислити кількість цифр (порядок) у числі k = 0 n2 = n while n2>0: k = k+1 # збільшити лічильник кількості цифр на 1 n2 = n2/10 # Забрати останню цифру # Цикл виділення цифр з числа n та утворення інвертованого числа while n>0: # взяти останню цифру last = n%10 # зменшити порядок числа k = k-1 # помножити отриману цифру на 10^k # і додати її до нового числа n2 = n2 + int(last*math.pow(10, k)) # n2 - нове число, яке формується # забрати останню цифру з числа n = n/10 # 3. Вивести нове число print("n2 = ", n2)
Результат виконання програми
n = 23456 n2 = 65432
⇑
5. Функція GetNumCount(). Визначити кількість цифр у числі
Реалізувати функцію GetNumCount(), яка визначає кількість цифр у цілому числі. Функція отримує параметром вихідне число.
# Задача. Визначити кількість цифр у числі import math # Функція GetNumCount() - визначити кількість цифр у числі def GetNumCount(n): k = 0 # k - результат while n>0: k = k+1 n = n/10 return k # Демонстрація роботи функції # Ввід числа n = input("n = ") # Виклик функції k = GetNumCount(n) print("k = ", k)
Результат роботи програми
n = 22768746 k = 8
⇑
6. Функція GetMaxNum(). Визначити максимальну цифру у числі
У заданому цілому числі n (n>0) потрібно визначити максимальну цифру. Наприклад, якщо є число 2883345, то максимальна цифра буде 8.
# Задача. Визначити максимальну цифру у числі import math # Функція GetMaxNum() - визначити максимальну цифру в числі def GetMaxNum(n): # отримати останню цифру числа Max = n%10 while n>0: n = n/10 # зменшити число if Max < n%10: # порівняти останню цифру з максимумом Max = n%10 return Max # Демонстрація роботи функції # Ввід числа n = input("n = ") # Виклик функції num = GetMaxNum(n) print("num = ", num)
Результат роботи програми
n = 4556821 num = 8
⇑
7. Функція GetMinNum(). Визначити мінімальну цифру в числі
Задача розв’язується так само як і в попередньому прикладі.
# Задача. Визначити мінімальну цифру у числі import math # Функція GetMinNum() - визначити мінімальну цифру у числі def GetMinNum(n): # отримати останню цифру числа Min = n%10 while n>0: n = n/10 # зменшити число if Min > n%10: # порівняти останню цифру з мінімумом Min = n%10 return Min # Демонстрація роботи функції # Ввід числа n = input("n = ") # Виклик функції num = GetMinNum(n) print("num = ", num)
Результат виконання програми
n = 28302324 num = 0
⇑
Зв’язані теми
⇑