Алгоритмы (Python): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
Строка 124: Строка 124:
 
=== Найти min, удовлетворяющее условию p(x) ===
 
=== Найти min, удовлетворяющее условию p(x) ===
 
<syntaxhighlight lang="python" line>
 
<syntaxhighlight lang="python" line>
 +
def p(x):
 +
    return x > 0
  
 +
 +
count = int(input('Введите количество чисел: '))
 +
 +
minimum = 0
 +
for i in range(1, count + 1):
 +
    x = int(input(f'Введите число № {i}: '))
 +
    if i == 1:
 +
        minimum = x
 +
    elif (x < minimum) and (p(x)):
 +
        maximum = x
 +
 +
print(f"min = {minimum}")
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Версия 12:15, 26 июня 2021

Код программ

Сумма вводимых целых чисел

1 count = int(input('Введите число слагаемых: '))
2 
3 sum = 0
4 for i in range(1, count + 1):
5     x = int(input(f'Введите число № {i}: '))
6     sum += x
7 
8 print(f"Сумма = {sum}")

Произведение целых чисел

1 count = int(input('Введите число множителей: '))
2 
3 product = 1
4 for i in range(1, count + 1):
5     x = int(input(f'Введите число № {i}: '))
6     product *= x
7 
8 print(f"Произведение = {product}")

Сколько нечетных среди n введенных

1 n = int(input('Введите количество чисел: '))
2 
3 count = 0
4 for i in range(1, n + 1):
5     x = int(input(f'Введите число № {i}: '))
6     if x % 2 == 1:
7         count += 1
8 
9 print(f"Количество нечётных чисел = {count}")

Защита от неверного ввода

1 x = int(input("Введите x>0: "))
2 
3 while x <= 0:
4     print("Неверный ввод: ")
5     x = int(input("Введите x>0: "))
6 
7 print(f"x = {x}")

Вывод 10 первых степеней двойки

1 x = 2
2 n = 10
3 
4 for i in range(1, n+1):
5     print(f"2 ** {i} = {x}")
6     x *= 2

Вывод всех двухзначных чисел, кратных 5

1 x = 10
2 
3 while x < 100:
4     print(x)
5     x += 5

Вывод n первых чисел Фибоначчи

1 n = int(input("Введите число n: "))
2 
3 (a, b) = (0, 1)
4 print(a, b, end=' ')
5 
6 for i in range(n-2):
7     (a, b) = (b, a+b)
8     print(b, end=' ')

Найти НОД(A,B), используя алгоритм Евклида:

1 a = int(input("Введите число a: "))
2 b = int(input("Введите число b: "))
3 
4 while b !=0:
5     (a, b) = (b, a % b)
6 
7 print(f"НОД(a, b) = {a}")

Найти сумму цифр целого числа m

1 m = int(input("Введите число m: "))
2 
3 n = m
4 sum = 0
5 while n:
6     sum += n % 10
7     n //= 10
8 
9 print(f"Сумма цифр числа {m} = {sum}")

Найти max из введенных чисел

 1 count = int(input('Введите количество чисел: '))
 2 
 3 maximum = 0
 4 for i in range(1, count + 1):
 5     x = int(input(f'Введите число № {i}: '))
 6     if i == 1:
 7         maximum = x
 8     elif x > maximum:
 9         maximum = x
10 
11 print(f"max = {maximum}")

Найти min, удовлетворяющее условию p(x)

 1 def p(x):
 2     return x > 0
 3 
 4 
 5 count = int(input('Введите количество чисел: '))
 6 
 7 minimum = 0
 8 for i in range(1, count + 1):
 9     x = int(input(f'Введите число № {i}: '))
10     if i == 1:
11         minimum = x
12     elif (x < minimum) and (p(x)):
13         maximum = x
14 
15 print(f"min = {minimum}")

Есть ли среди введенных число k?

Является ли число N>1 простым?

Разложение числа на простые множители