Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.41 KB | None | 0 0
  1. # -"- coding: utf-8  -"-
  2. #№10. Считайте последовательность чисел и определите второй максимальный элемент в ней.
  3. #Ввод закончен, если последним введен 0. Гарантируется, что все числа
  4. #последовательности положительные, а число элементов ≥2.
  5. #Нельзя использовать списки и любые их аналоги.
  6. #1
  7. #7
  8. #9
  9. #0
  10. #7
  11. max1, max2 = 0, 0  #  Текущие первый и второй максимумы последовательности
  12. n, k = -1 , 0      # Текущее число , счетчик введенных чисел
  13. while n !=0 :
  14.     n = int(input('Последовательность положительных чисел, (0-конец) --> '))
  15.     k += 1
  16.     if n > max1:          
  17.         max2 = max1
  18.         max1 = n
  19.     elif (n < max1) and (n > max2):
  20.         max2 = n
  21.     elif n == 0:
  22.         print ('КОНЕЦ')
  23.     if k >= 22 :
  24.         print ('Достаточно, вводите ноль')
  25.     print("Текущий второй максимум: " + str(max2))
  26.  
  27. #№11. Считайте последовательность чисел и определите количество элементов,
  28. #равных максимальному (без учета самого максимального элемента).
  29. #Ввод закончен, если последним введен 0. Нельзя использовать списки и любые их аналоги.
  30. #Если в последовательности только один максимальный элемент, то ответ должен быть 0.
  31. #1
  32. #7
  33. #9
  34. #0
  35. #0
  36. max1 = -1000000000000000000          # Текущий максимум последовательности
  37. n, k =  -1 , 0                        # Текущее число , счетчик максимумов
  38. while n != 0 :
  39.     n = int(input('Последовательность чисел, (0-конец) --> '))
  40.     #k = 0
  41.     if n == 0:
  42.             print ('КОНЕЦ')    
  43.     elif n == max1:
  44.         k += 1
  45.     elif n > max1:
  46.         max1 = n
  47.         k = 0
  48. print("Максимум: " + str(max1))
  49. print('Количество повторений максимума:' + str(k))
  50. #№12.  Число Фибоначчи задается как: Φ0 = 0, Φ1 = 1, Φn = Φn-1 +Φn-2
  51. #Вывести  n-ое число Фибоначчи, n задается с клавиатуры.
  52. #Нельзя использовать списки и любые их аналоги.
  53. #4
  54. #3
  55. #ϕ=(1+√5)/2. Подставив исходные значения и проделав ещё вычисления, мы получаем:
  56. #fib(n) = ϕ^n/(5^0.5)+0.5
  57. n = int(input('n-число Фибоначчи --> '))
  58. import math
  59. SQRT5 = math.sqrt(5)
  60. PHI = (SQRT5 + 1) / 2
  61. fib = int(PHI ** n / SQRT5 + 0.5)
  62. print(fib)
  63. #№13.   Введите число a и определите, является ли оно числом Фибоначчи. Если да,
  64. #то выведите на экран число n – порядковый номер числа Фибоначчи.
  65. #Если число a не является числом Фибоначчи, то выведите на экран -1.
  66. #Нельзя использовать списки и любые их аналоги.
  67. #55
  68. #10
  69. #Натуральное число N является числом Фибоначчи тогда и только тогда,
  70. #когда 5N^2 + 4 или 5N^2 - 4 является квадратом.
  71.  
  72. def Fib(n):
  73.     SQRT5 = math.sqrt(5)
  74.     PHI = (SQRT5 + 1) / 2
  75.     return int(PHI ** n / SQRT5 + 0.5)
  76.  
  77. a = int(input('Это число является числом Фибоначчи ? --> '))
  78. n = 1 # номер числа Фибоначчи
  79. while Fib(n) <= a :
  80.     fib = Fib(n)
  81.     print(fib)
  82.     n += 1
  83. if fib == a:
  84.     print('Число ',a,'является числом Фибоначчи,','его номер',n-1)
  85. else:
  86.     print('Число ',a,'не является',' числом Фибоначчи, ',-1)
  87.  #№14. Напишите программу, выводящую такой рисунок:
  88. #*
  89. #* *
  90. #* * *
  91. #* * * *
  92. #* * * * *
  93. #* * * *
  94. #* * *
  95. #* *
  96. #*
  97. #Между * стоит пробел, до рисунка не должно быть никаких пустых строк.  
  98. #Пожалуйста, используйте цикл for.
  99.  
  100. #№15.  Написать программу, находящую наибольший общий делитель для двух неотрицательных
  101. #целых чисел, введенных пользователем.Классическим алгоритмом для нахождения НОД
  102. #является алгоритм Эвклида. Пусть m и n – переменные, содержащие два числа.
  103. #Если n равна 0, то нужно остановиться, в m содержится НОД. Иначе нужно найти остаток
  104. #от деления m на n. n нужно скопировать в m, а остаток в n. Затем повторить эти шаги,
  105. #начав с проверки n на равенство 0.
  106. #12
  107. #28
  108. #4
  109.  
  110. #№16.  Основная теорема арифметики. Любое натуральное число n большее единицы,
  111. #можно разложить в произведение простых чисел, причём это разложение единственно
  112. #с точностью до порядка следования сомножителей.
  113.  #Школьное описание алгоритма выглядит так:
  114. #•    Берём самое маленькое простое число — 2 и по признакам делимости или обычным делением проверяем, делится ли исходное число на 2.
  115. #•    Если делится, то в правую колонку выписываем 2. Далее делим исходное число на 2 и записываем результат в левую колонку под исходным числом.
  116. #•    Если не делится, то берём следующее простое число — 3.
  117. #Повторяем эти шаги, при этом работаем уже с последним числом в левой колонке и с текущим простым числом.
  118. #Разложение заканчивается, когда в левой колонке будет записано число 1.
  119. #Вам необходимо написать программу, которая получает на входе число, а выводит результат его разложения на простые множители.
  120. #70
  121. #2
  122. #5
  123. #7
  124. #№ 17. В университете установлена определенная шкала перевода буквенной оценки в балл:
  125.  
  126. #буква       балл
  127. #A+      4.0
  128. #A  4.0
  129. #A- 3.7
  130. #B+ 3.3
  131. #B       3.0
  132. #B- 2.7
  133. #C+ 2.3
  134. #C  2.0
  135. #C- 1.7
  136. #D+ 1.3
  137. #D  1.0
  138. #F  0
  139.  
  140.  
  141. #Вам нужно написать программу, которая считает средний балл для любого количества введенных буквенных оценок.
  142. #Признаком конца ввода является символ q или Q. Пользователь может вводить оценки как строчными, так и прописными буквами.
  143. #Результат должен быть округлен до двух знаков после запятой при помощи функции round.
  144. #Если в ответе остается один знак после запятой, то ноль выводить не следует.
  145. #Проверять ошибки ввода не следует, считайте, что ввод всегда корректен.
  146.  
  147. #Пример:
  148.  
  149. #A+
  150.  
  151. #A
  152.  
  153. #B-
  154.  
  155. #q
  156.  
  157. #3.57
  158.  
  159.  
  160.  
  161. #a
  162.  
  163. #a
  164.  
  165. #Q
  166.  
  167. #4.0
  168.  
  169.  
  170.  
  171. #a
  172.  
  173. #b
  174.  
  175. #c
  176.  
  177. #d
  178.  
  179. #q
  180.  
  181. #2.5
  182. #№18 . Сколько раз нужно подбрасывать монету, чтобы три раза подряд выпал орел или решка?
  183. #Сколько раз в среднем нужно ее подбросить, чтобы получить такой результат?
  184.  
  185. #На эти вопросы мы постараемся ответить. Вам нужно написать программу, которая имитирует подбрасывание монеты.
  186. #Для решения этой задачи вам понадобится генератор случайных чисел.
  187. #Считайте, что монета является "правильной",
  188. #то есть вероятность выпадения орла или решки одинаковая.
  189.  
  190. #Вам необходимо:
  191.  
  192. #1. Сымитировать подбрасывание монеты до тех пор, пока три раза подряд не выпадет орел или решка
  193.  
  194. #2. Повторить такой опыт 10 раз
  195.  
  196. #3. Посчитать, сколько бросков в среднем нужно сделать до появления последовательности из трех орлов или решек
  197.  
  198. #Условимся считать, что 0 обозначает выпадение орла (heads), а 1 выпадение решки (tails)
  199.  
  200. #Вывод программы должен выглядеть следующим образом:
  201.  
  202. #Каждая строка представляет собой одну серию опытов, где обозначена последовательности выпадения, а затем общее число бросков
  203.  
  204. #В последней строке программы должно быть выведено среднее число бросков до выпадения последовательности из трех орлов или решек.
  205.  
  206.  
  207.  
  208. #Вам не нужно подключать модуль random, это уже сделано за вас.
  209.  
  210.  
  211.  
  212. #HHTHTHHTHTHTHHH 15
  213. #HTTT 4
  214. #TTT 3
  215. #HHTTT 5
  216. #HTHHTHTTHTTHHTTHTHTHTTT 23
  217. #THHTTT 6
  218. #TTT 3
  219. #HTHHTTT 7
  220. #HTTHHH 6
  221. #THHH 4
  222. #7.6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement