Вызовы Python: упражнения, практика, решение
Python Challenges - 1 [49 испытаний с решением]
[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]
1. Напишите программу на Python, чтобы проверить, является ли данное положительное целое число степенью двойки. Перейти к редактору
Вход: 4
Выход: правда
Нажмите меня, чтобы увидеть образец решения
2. Напишите программу на Python, чтобы проверить, является ли данное положительное целое число степенью три. Перейти к редактору
Вход: 9
Выход: правда
Нажмите меня, чтобы увидеть образец решения
3. Напишите программу на Python, чтобы проверить, является ли данное положительное целое число степенью четыре. Перейти к редактору
Вход: 4
Выход: правда
Нажмите меня, чтобы увидеть образец решения
4. Напишите программу на Python, чтобы проверить, является ли число идеальным квадратом. Перейти к редактору
Вход: 9
Выход: правда
Нажмите меня, чтобы увидеть образец решения
5. Напишите программу на Python, чтобы проверить, является ли целое число степенью другого целого числа. Перейти к редактору
Вход: 16, 2
Выход: правда
Нажмите меня, чтобы увидеть образец решения
6. Напишите программу на Python, чтобы проверить, является ли число степенью заданной базы. Перейти к редактору
Вход: 128,2
Выход: правда
Нажмите меня, чтобы увидеть образец решения
7. Напишите программу на Python, чтобы найти пропущенный номер в списке. Перейти к редактору
Вход: [1,2,3,4,6,7,8]
Выход: 5
Нажмите меня, чтобы увидеть образец решения
8. Напишите программу на Python, чтобы найти пропущенные числа из списка. Перейти к редактору
Вход: [1,2,3,4,6,7,10]
Выход: [5, 8, 9]
Нажмите меня, чтобы увидеть образец решения
9. Напишите программу на Python, чтобы найти три числа из массива так, чтобы сумма трех чисел была равна нулю. Перейти к редактору
Ввод: [-1,0,1,2, -1, -4]
Вывод: [[-1, -1, 2], [-1, 0, 1]]
Примечание. Найдите уникальные триплеты в массиве.
Нажмите меня, чтобы увидеть образец решения
10. Напишите программу на Python, чтобы найти три числа из массива так, чтобы сумма трех чисел была равна заданному числу. Перейти к редактору
Ввод: [1, 0, -1, 0, -2, 2], 0)
Выход: [[-2, -1, 1, 2], [-2, 0, 0, 2], [-1, 0, 0, 1]]
Нажмите меня, чтобы увидеть образец решения
11. Напишите программу на Python для вычисления и возврата квадратного корня из указанного «целого числа». Перейти к редактору
Вход: 16
Выход: 4
Примечание. Возвращаемое значение будет целым числом.
Нажмите меня, чтобы увидеть образец решения
12. Напишите программу на Python, чтобы найти одно число в списке, которое не встречается дважды. Перейти к редактору
Вход: [5, 3, 4, 3, 4]
Выход: 5
Нажмите меня, чтобы увидеть образец решения
13. Напишите программу на Python, чтобы найти один элемент в списке, где каждый элемент появляется три раза, кроме одного. Перейти к редактору
Вход: [5, 3, 4, 3, 5, 5, 3]
Выход: 4
Нажмите меня, чтобы увидеть образец решения
14. Напишите программу на Python, чтобы найти один элемент, который появляется один раз в списке, где каждый элемент появляется четыре раза, кроме одного. Перейти к редактору
Вход: [1, 1, 1, 2, 2, 2, 3]
Выход: 3
Нажмите меня, чтобы увидеть образец решения
15. Напишите программу на Python, в которой два элемента появляются в списке дважды, а все остальные элементы появляются в списке ровно дважды. Перейти к редактору
Вход: [1, 2, 1, 3, 2, 5]
Выход: [5, 3]
Нажмите меня, чтобы увидеть образец решения
16. Напишите программу на Python, чтобы несколько раз добавлять цифры положительного целого числа, пока результат не будет иметь одну цифру. Перейти к редактору
Вход: 48
Выход: 3
Например, данное число равно 59, результат будет 5.
Шаг 1: 5 + 9 = 14
Шаг 1: 1 + 4 = 5
Нажмите меня, чтобы увидеть образец решения
17. Напишите программу на Python, чтобы определить, содержит ли она аддитивную последовательность или нет. Перейти к редактору
Аддитивная последовательность - это последовательность чисел, в которой сумма первых двух чисел равна третьей.
Пример аддитивной последовательности: 6, 6, 12, 18, 30
В приведенной выше последовательности 6 + 6 = 12, 6 + 12 = 18, 12 + 18 = 30 ....
Кроме того, вы можете разбить число на одну или несколько цифр, чтобы создать аддитивную последовательность.
Пример аддитивной последовательности: 66121830
В приведенной выше последовательности 6 + 6 = 12, 6 + 12 = 18, 12 + 18 = 30 ....
Примечание. Числа в аддитивной последовательности не могут иметь ведущих нулей.
Нажмите меня, чтобы увидеть образец решения
18. Напишите программу на Python, чтобы перевернуть цифры целого числа. Перейти к редактору
Вход: 234
Вход: -234
Выход: 432
Выход: -432
Нажмите меня, чтобы увидеть образец решения
19. Напишите программу на Python, чтобы обратить биты целого числа без знака (32 бита без знака). Перейти к редактору
Вход: 1234
Выход: 1260388352
Например, 1234 представлен в двоичном виде как 10011010010 и возвращает 1260388352, который представлен в двоичном виде как 1001011001000000000000000000000.
Нажмите меня, чтобы увидеть образец решения
20. Напишите программу на Python, чтобы проверить последовательность чисел - это арифметическая прогрессия или нет. Перейти к редактору
Вход: [5, 7, 9, 11]
Выход: правда
В математике арифметическая прогрессия или арифметическая последовательность - это последовательность чисел, такая, что разница между последовательными членами постоянна.
Например, последовательность 5, 7, 9, 11, 13, 15 ... является арифметической прогрессией с общей разницей 2.
Нажмите меня, чтобы увидеть образец решения
21. Напишите программу на Python, чтобы проверить последовательность чисел - это геометрическая прогрессия или нет. Перейти к редактору
Вход: [2, 6, 18, 54]
Выход: правда
В математике геометрическая прогрессия или геометрическая последовательность - это последовательность чисел, в которой каждый член после первого находится путем умножения предыдущего на фиксированное ненулевое число, называемое общим отношением.
Например, последовательность 2, 6, 18, 54, ... является геометрической прогрессией с общим отношением 3. Аналогично, 10, 5, 2.5, 1.25, ... является геометрической последовательностью с общим отношением 1/2.
Нажмите меня, чтобы увидеть образец решения
22. Напишите программу на Python для вычисления суммы двух перевернутых чисел и отображения суммы в перевернутом виде. Перейти к редактору
Вход: 13, 14
Выход: 27
Примечание: результат не будет уникальным для каждого числа, например, 31 является обратной формой нескольких чисел 13, 130, 1300 и т. Д. Поэтому все ведущие нули будут опущены
Нажмите меня, чтобы увидеть образец решения
23. Напишите программу на Python, где вы берете любое положительное целое число n, если n четное, разделите его на 2, чтобы получить n / 2. Если n нечетно, умножьте его на 3 и добавьте 1, чтобы получить 3n + 1. Повторите процесс пока не дойдете до 1. Идите в редактор
Вход: 12
Выход: [12, 6,0, 3,0, 10,0, 5,0, 16,0, 8,0, 4,0, 2,0, 1,0]
Согласно Википедии, гипотеза Коллатца является гипотезой в математике имени Лотара Коллатца, который впервые предложил ее в 1937 году. Эта гипотеза также известна как гипотеза 3n + 1.
Гипотеза может быть обобщена следующим образом. Возьмите любое положительное целое число n. Если n четное, разделите его на 2, чтобы получить n / 2. Если n нечетное, умножьте его на 3 и добавьте 1, чтобы получить 3n + 1. Повторите процесс (который был назван «Половина или тройной плюс один») бесконечно , Предположение состоит в том, что независимо от того, с какого числа вы начинаете, вы всегда в конечном итоге достигнете 1.
Пример :
Например, начиная с n = 12, получается последовательность 12, 6, 3, 10, 5, 16, 8, 4, 2, 1.
Например, n = 19 занимает больше времени, чтобы достичь 1: 19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4. , 2, 1.
Нажмите меня, чтобы увидеть образец решения
24. Напишите программу на Python, чтобы проверить, является ли данное число уродливым числом. Перейти к редактору
Вход: 12
Выход: правда
Уродливые числа - это положительные числа, чьи единственные простые множители - 2, 3 или 5. Последовательность 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ...
показывает первые 10 уродливых чисел.
Примечание: 1 обычно считается уродливым числом
Нажмите меня, чтобы увидеть образец решения
25. Напишите программу на Python, чтобы получить числа Хемминга до заданных чисел, а также проверьте, является ли данное число числом Хемминга. Перейти к редактору
Вход: 7
Выход: 0
Числа Хэмминга - это числа вида
H = 2 i x 3 j x 5 k
Где i, j, k = 0
Последовательность чисел Хэмминга 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27.. , состоит из всех чисел вида 2i.3j.5k, где i, j и k - неотрицательные целые числа.
Нажмите меня, чтобы увидеть образец решения
26. Напишите программу на Python, чтобы проверить, является ли данная строка анаграммой другой данной строки. Перейти к редактору
Входные данные: «анаграмма», «нагарам»
Выход: правда
Согласно Википедии, анаграмма - это прямое переключение слов или игра слов, результат перестановки букв слова или фразы для создания нового слова или фразы, используя все оригинальные буквы ровно один раз; например, слово анаграмма может быть преобразовано в Nag-a-Ram
Нажмите меня, чтобы увидеть образец решения
27. Напишите программу на Python, которая помещает все нули в конец списка. Перейти к редактору
Вход: [0,2,3,4,6,7,10]
Выход: [2, 3, 4, 6, 7, 10, 0]
Нажмите меня, чтобы увидеть образец решения
28. Напишите программу на Python, вставив первую цифру в конец списка. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
29. Напишите программу на Python, чтобы найти элемент списка в списке. Перейти к редактору
Ввод: [1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 6]
Выход: 5
Примечание. Элемент Major - это элемент, который появляется более чем в n / 2 раза, где n - количество элементов в списке.
Нажмите меня, чтобы увидеть образец решения
30. Напишите программу на Python, чтобы найти длину последнего слова. Перейти к редактору
Вход: Python Упражнения
Выход: 9
Нажмите меня, чтобы увидеть образец решения
31. Напишите программу на Python для добавления двух двоичных чисел. Перейти к редактору
Ввод: («11», «1»)
Выход: 100
Нажмите меня, чтобы увидеть образец решения
32. Напишите программу на Python, чтобы найти единственное число, в котором встречаются нечетные числа, а в других числах встречаются четные числа. Перейти к редактору
Нажмите меня, чтобы увидеть образец решения
33. Напишите программу на Python для вычисления суммы всех кратных 3 или 5 ниже 500. Перейдите в редактор
Все натуральные числа ниже 12, кратные 3 или 5, мы получаем 3, 5, 6, 9 и 10. Сумма этих кратных составляет 33.
Нажмите меня, чтобы увидеть образец решения
34. Напишите программу на языке Python для вычисления суммы четных членов в последовательности Фибоначчи, значения которых не превышают одного миллиона. Перейти к редактору
Примечание: ряд Фибоначчи генерируется путем добавления двух предыдущих терминов. Начиная с 1 и 2, первые 10 терминов будут: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
Нажмите меня, чтобы увидеть образец решения
35. Напишите программу на Python, чтобы найти наибольший простой множитель заданного числа. Перейти к редактору
Первичные множители 330 - это 2, 3, 5 и 11. Поэтому 11 - это самый большой первичный фактор 330.
Нажмите меня, чтобы увидеть образец решения
36. Напишите программу на Python, чтобы найти самый большой палиндром, созданный из произведения двух 4-значных чисел. Перейти к редактору
Согласно Википедии - палиндромное число или числовое палиндром - это число, которое остается тем же самым, когда его цифры меняются местами. Как 16461, например, это "симметрично". Термин палиндромный происходит от палиндрома, который относится к слову (например, ротор или гоночный автомобиль), чье написание не изменяется при обращении букв. Первые 30 палиндромных чисел (в десятичном виде): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101 , 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, ...
Самый большой палиндром из двух трехзначных чисел составляет 913 * 993 = 906609.
Примечание: 9999 * 9901 = 906609
Нажмите меня, чтобы увидеть образец решения
37. Напишите программу на Python, чтобы найти наименьшее положительное число, которое делится равномерно на все числа от 1 до 30. Перейти к редактору
2520 - это наименьшее число, которое можно разделить на каждое из чисел от 1 до 10 без остатка.
Результат: 2329089562800.0
Нажмите меня, чтобы увидеть образец решения
38. Напишите программу на python, чтобы найти разницу между суммой квадратов первых двухсот натуральных чисел и квадратом суммы. Перейти к редактору
Сумма квадратов первых двадцати натуральных чисел равна
12 + 22 + 32 + ..... + 202 = 2870
Квадрат суммы первых двадцати натуральных чисел равен
(1 + 2 + ... + 10) 2 = 44100
Следовательно, разница между суммой квадратов первых двадцати натуральных чисел и квадратом суммы составляет 44100 - 2870 = 41230 Выход: 401323300
Нажмите меня, чтобы увидеть образец решения
39. Напишите программу на python, чтобы найти 1000-е простое число. Перейти к редактору
Простое число - это натуральное число, большее 1, которое не имеет положительных делителей, кроме 1 и самого себя. По теореме Евклида существует бесконечное число простых чисел. Подмножества простых чисел могут быть сгенерированы с различными формулами для простых чисел. Первые двадцать простых чисел: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71.
Нажмите меня, чтобы увидеть образец решения
40. Напишите программу на Python, чтобы найти продукт XYZ. Перейти к редактору
Тройка Пифагора состоит из трех натуральных чисел a, b и c, таких что a2 + b2 = c2. Такая тройка обычно пишется (a, b, c), и хорошо известным примером является (3, 4, 5). Существует ровно один пифагорейский триплет, для которого x + y + z = 1000.
Нажмите меня, чтобы увидеть образец решения
41. Напишите программу на Python, чтобы найти первый номер треугольника, имеющий более n (заданных) делителей. Перейти к редактору
Из Википедии: Треугольное число - это число, которое является суммой всех натуральных чисел до определенного числа. Например, 10 - треугольное число, потому что 1 + 2 + 3 + 4 = 10. Первые 25 треугольных чисел: 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325 и 351.
Треугольное число рассчитывается по уравнению: n (n + 1) / 2
Факторы первых пяти треугольных чисел:
1: 1
3: 1, 3
6: 1, 2, 3, 6
10: 1, 2, 5, 10
15: 1, 3, 5, 15
В приведенном выше списке 6 - первый номер треугольника, имеющий более четырех делителей.
Нажмите меня, чтобы увидеть образец решения
42. Напишите программу на Python, чтобы найти начальный номер, менее десяти тысяч создаст самую длинную цепочку. Перейти к редактору
Из Википедии - Гипотеза Коллатца - это гипотеза в математике, которая касается последовательности, определенной следующим образом: начните с любого положительного целого числа n. Затем каждый член получается из предыдущего члена следующим образом: если предыдущий член является четным, то следующий член равен половине предыдущего. Если предыдущий член является нечетным, то следующий член в 3 раза больше предыдущего и плюс 1. Предположение состоит в том, что независимо от значения n последовательность всегда будет равна 1.
Нажмите меня, чтобы увидеть образец решения
43. Напишите программу на Python для вычисления суммы цифр числа 2 20 . Перейти к редактору
2 10 = 1024 и сумма его цифр составляет 1 + 0 + 2 + 4 = 7
Нажмите меня, чтобы увидеть образец решения
44. Напишите программу на Python, чтобы найти максимальную сумму сверху вниз треугольника ниже. Перейти к редактору
Начиная сверху треугольника внизу и переходя к соседним числам в строке ниже, максимальная сумма сверху вниз составляет 25.
Напишите программу на Python, чтобы найти максимальную сумму сверху вниз треугольника ниже.
Нажмите меня, чтобы увидеть образец решения
45. Напишите программу на Python, чтобы найти сумму цифр данного числа. Перейти к редактору
В математике факториал натурального числа n, обозначаемого через n !, является произведением всех натуральных чисел, меньших или равных n. Например,
5! = 5 х 4 х 3 х 2 х 1 = 120
и сумма цифр в номере 5! 1 + 2 +0 = 3
Нажмите меня, чтобы увидеть образец решения
46. Напишите программу на Python, чтобы вычислить сумму всех дружных чисел под заданным числом. Перейти к редактору
Из Википедии - Дружные числа - это два разных числа, связанных так, что сумма правильных делителей каждого равна другому числу. (Правильный делитель числа является положительным фактором этого числа, кроме самого числа. Например, правильные делители числа 6 равны 1, 2 и 3.)
Наименьшая пара дружных чисел - (220, 284). Они дружны, потому что правильными делителями 220 являются 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 и 110, из которых сумма равна 284; и правильными делителями 284 являются 1, 2, 4, 71 и 142, из которых сумма равна 220.
Нажмите меня, чтобы увидеть образец решения
47. Напишите программу на Python, чтобы найти сумму всех натуральных чисел, которую нельзя записать в виде суммы двух чисел с избытком. Перейти к редактору
В теории чисел обильное число - это число, для которого сумма его собственных делителей больше, чем само число.
Пример:
Первые несколько чисел:
12, 18, 20, 24, 30, 36, 40, 42, 48, 54, 56, 60, 66, 70, 72, 78, 80, 84, 88, 90, 96, 100, 102, ...
Целое число 12 является первым обильным числом. Его правильными делителями являются 1, 2, 3, 4 и 6, всего 16.
Число n называется дефицитным, если сумма его собственных делителей меньше n, и оно называется избыточным, если эта сумма превышает n.
Нажмите меня, чтобы увидеть образец решения
48. Напишите программу на Python, чтобы найти миллионную лексикографическую перестановку цифр 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Перейти к редактору
В математике перестановка - это процесс размещения членов набора в последовательности или порядке или, если набор уже упорядочен, перестановка (переупорядочение) его элементов - процесс, называемый перестановкой. Например, 3124 - это одна из возможных перестановок цифр 1, 2, 3 и 4. Если все перестановки перечислены в числовом или алфавитном порядке, мы называем это лексикографическим порядком. Лексикографические перестановки 0, 1 и 2: 012 021 102 120 201 210
Нажмите меня, чтобы увидеть образец решения
49. Напишите программу на Python, чтобы найти индекс первого члена в последовательности Фибоначчи, содержащий 500 цифр. Перейти к редактору
В математике числа Фибоначчи, обычно обозначаемые как F n, образуют последовательность, называемую последовательностью Фибоначчи, так что каждое число является суммой двух предыдущих, начиная с 0 и 1.
Последовательность Фибоначчи определяется рекуррентным соотношением:
F n = F n -1 + F n -2, где F 1 = 1 и F 2 = 1.
Следовательно, первые 12 терминов будут:
F 1 = 1
F 2 = 1
F 3 = 2
F 4 = 3
F 5 = 5
F 6 = 8
F 7 = 13
F 8 = 21
F 9 = 34
F 10 = 55
F 11 = 89
F 12 = 144
12- й член, F 12 , это первый член, который содержит три цифры.
Нажмите меня, чтобы увидеть образец решения
Редактор кода Python:
Еще не все !
Не отправляйте решение вышеупомянутых упражнений здесь, если вы хотите внести вклад, перейдите на соответствующую страницу упражнения.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования