Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -"- coding: utf-8 -"-
- #№10. Считайте последовательность чисел и определите второй максимальный элемент в ней.
- #Ввод закончен, если последним введен 0. Гарантируется, что все числа
- #последовательности положительные, а число элементов ≥2.
- #Нельзя использовать списки и любые их аналоги.
- #1
- #7
- #9
- #0
- #7
- max1, max2 = 0, 0 # Текущие первый и второй максимумы последовательности
- n, k = -1 , 0 # Текущее число , счетчик введенных чисел
- while n !=0 :
- n = int(input('Последовательность положительных чисел, (0-конец) --> '))
- k += 1
- if n > max1:
- max2 = max1
- max1 = n
- elif (n < max1) and (n > max2):
- max2 = n
- elif n == 0:
- print ('КОНЕЦ')
- if k >= 22 :
- print ('Достаточно, вводите ноль')
- print("Текущий второй максимум: " + str(max2))
- #№11. Считайте последовательность чисел и определите количество элементов,
- #равных максимальному (без учета самого максимального элемента).
- #Ввод закончен, если последним введен 0. Нельзя использовать списки и любые их аналоги.
- #Если в последовательности только один максимальный элемент, то ответ должен быть 0.
- #1
- #7
- #9
- #0
- #0
- max1 = -1000000000000000000 # Текущий максимум последовательности
- n, k = -1 , 0 # Текущее число , счетчик максимумов
- while n != 0 :
- n = int(input('Последовательность чисел, (0-конец) --> '))
- #k = 0
- if n == 0:
- print ('КОНЕЦ')
- elif n == max1:
- k += 1
- elif n > max1:
- max1 = n
- k = 0
- print("Максимум: " + str(max1))
- print('Количество повторений максимума:' + str(k))
- #№12. Число Фибоначчи задается как: Φ0 = 0, Φ1 = 1, Φn = Φn-1 +Φn-2
- #Вывести n-ое число Фибоначчи, n задается с клавиатуры.
- #Нельзя использовать списки и любые их аналоги.
- #4
- #3
- #ϕ=(1+√5)/2. Подставив исходные значения и проделав ещё вычисления, мы получаем:
- #fib(n) = ϕ^n/(5^0.5)+0.5
- n = int(input('n-число Фибоначчи --> '))
- import math
- SQRT5 = math.sqrt(5)
- PHI = (SQRT5 + 1) / 2
- fib = int(PHI ** n / SQRT5 + 0.5)
- print(fib)
- #№13. Введите число a и определите, является ли оно числом Фибоначчи. Если да,
- #то выведите на экран число n – порядковый номер числа Фибоначчи.
- #Если число a не является числом Фибоначчи, то выведите на экран -1.
- #Нельзя использовать списки и любые их аналоги.
- #55
- #10
- #Натуральное число N является числом Фибоначчи тогда и только тогда,
- #когда 5N^2 + 4 или 5N^2 - 4 является квадратом.
- def Fib(n):
- SQRT5 = math.sqrt(5)
- PHI = (SQRT5 + 1) / 2
- return int(PHI ** n / SQRT5 + 0.5)
- a = int(input('Это число является числом Фибоначчи ? --> '))
- n = 1 # номер числа Фибоначчи
- while Fib(n) <= a :
- fib = Fib(n)
- print(fib)
- n += 1
- if fib == a:
- print('Число ',a,'является числом Фибоначчи,','его номер',n-1)
- else:
- print('Число ',a,'не является',' числом Фибоначчи, ',-1)
- #№14. Напишите программу, выводящую такой рисунок:
- #*
- #* *
- #* * *
- #* * * *
- #* * * * *
- #* * * *
- #* * *
- #* *
- #*
- #Между * стоит пробел, до рисунка не должно быть никаких пустых строк.
- #Пожалуйста, используйте цикл for.
- #№15. Написать программу, находящую наибольший общий делитель для двух неотрицательных
- #целых чисел, введенных пользователем.Классическим алгоритмом для нахождения НОД
- #является алгоритм Эвклида. Пусть m и n – переменные, содержащие два числа.
- #Если n равна 0, то нужно остановиться, в m содержится НОД. Иначе нужно найти остаток
- #от деления m на n. n нужно скопировать в m, а остаток в n. Затем повторить эти шаги,
- #начав с проверки n на равенство 0.
- #12
- #28
- #4
- #№16. Основная теорема арифметики. Любое натуральное число n большее единицы,
- #можно разложить в произведение простых чисел, причём это разложение единственно
- #с точностью до порядка следования сомножителей.
- #Школьное описание алгоритма выглядит так:
- #• Берём самое маленькое простое число — 2 и по признакам делимости или обычным делением проверяем, делится ли исходное число на 2.
- #• Если делится, то в правую колонку выписываем 2. Далее делим исходное число на 2 и записываем результат в левую колонку под исходным числом.
- #• Если не делится, то берём следующее простое число — 3.
- #Повторяем эти шаги, при этом работаем уже с последним числом в левой колонке и с текущим простым числом.
- #Разложение заканчивается, когда в левой колонке будет записано число 1.
- #Вам необходимо написать программу, которая получает на входе число, а выводит результат его разложения на простые множители.
- #70
- #2
- #5
- #7
- #№ 17. В университете установлена определенная шкала перевода буквенной оценки в балл:
- #буква балл
- #A+ 4.0
- #A 4.0
- #A- 3.7
- #B+ 3.3
- #B 3.0
- #B- 2.7
- #C+ 2.3
- #C 2.0
- #C- 1.7
- #D+ 1.3
- #D 1.0
- #F 0
- #Вам нужно написать программу, которая считает средний балл для любого количества введенных буквенных оценок.
- #Признаком конца ввода является символ q или Q. Пользователь может вводить оценки как строчными, так и прописными буквами.
- #Результат должен быть округлен до двух знаков после запятой при помощи функции round.
- #Если в ответе остается один знак после запятой, то ноль выводить не следует.
- #Проверять ошибки ввода не следует, считайте, что ввод всегда корректен.
- #Пример:
- #A+
- #A
- #B-
- #q
- #3.57
- #a
- #a
- #Q
- #4.0
- #a
- #b
- #c
- #d
- #q
- #2.5
- #№18 . Сколько раз нужно подбрасывать монету, чтобы три раза подряд выпал орел или решка?
- #Сколько раз в среднем нужно ее подбросить, чтобы получить такой результат?
- #На эти вопросы мы постараемся ответить. Вам нужно написать программу, которая имитирует подбрасывание монеты.
- #Для решения этой задачи вам понадобится генератор случайных чисел.
- #Считайте, что монета является "правильной",
- #то есть вероятность выпадения орла или решки одинаковая.
- #Вам необходимо:
- #1. Сымитировать подбрасывание монеты до тех пор, пока три раза подряд не выпадет орел или решка
- #2. Повторить такой опыт 10 раз
- #3. Посчитать, сколько бросков в среднем нужно сделать до появления последовательности из трех орлов или решек
- #Условимся считать, что 0 обозначает выпадение орла (heads), а 1 выпадение решки (tails)
- #Вывод программы должен выглядеть следующим образом:
- #Каждая строка представляет собой одну серию опытов, где обозначена последовательности выпадения, а затем общее число бросков
- #В последней строке программы должно быть выведено среднее число бросков до выпадения последовательности из трех орлов или решек.
- #Вам не нужно подключать модуль random, это уже сделано за вас.
- #HHTHTHHTHTHTHHH 15
- #HTTT 4
- #TTT 3
- #HHTTT 5
- #HTHHTHTTHTTHHTTHTHTHTTT 23
- #THHTTT 6
- #TTT 3
- #HTHHTTT 7
- #HTTHHH 6
- #THHH 4
- #7.6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement