Алгоритмы (Python)

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску

Код программ

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

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 found = False
 7 minimum = 0
 8 for i in range(1, count + 1):
 9     x = int(input(f'Введите число № {i}: '))
10     if (found == false) and (p(x)):
11         minimum = x
12         found = True
13     elif (x < minimum) and (p(x)):
14         minimum = x
15 
16 print(f"min = {minimum}")

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

 1 count = int(input('Введите количество чисел: '))
 2 needle = int(input('Введите число для поиска: '))
 3 found = False
 4 
 5 minimum = 0
 6 for i in range(1, count + 1):
 7     x = int(input(f'Введите число № {i}: '))
 8     if x == needle:
 9         found = True
10         break
11 if found:
12     print(f"Число {needle} было введено.")
13 else:
14     print(f"Число {needle} не было введено.")

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

 1 import math
 2 
 3 n = int(input('Введите число n: '))
 4 
 5 isPrime = True
 6 for i in range(2, math.floor(math.sqrt(n)) + 1):
 7     if n % i == 0:
 8         isPrime = False
 9         break
10 
11 if isPrime:
12     print(f"Число {n} является простым.")
13 else:
14     print(f"Число {n} является составным.")

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

 1 x = int(input('Введите число x: '))
 2 
 3 i = 2
 4 print(f"{x} = 1", end='')
 5 
 6 while x != 1:
 7     if x % i == 0:
 8         print(f" * {i}", end='')
 9         x = x / i
10     else:
11         i += 1