Алгоритмы (Python): различия между версиями
Перейти к навигации
Перейти к поиску
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 129: | Строка 129: | ||
count = int(input('Введите количество чисел: ')) | count = int(input('Введите количество чисел: ')) | ||
− | + | found = False | |
minimum = 0 | minimum = 0 | ||
for i in range(1, count + 1): | for i in range(1, count + 1): | ||
x = int(input(f'Введите число № {i}: ')) | x = int(input(f'Введите число № {i}: ')) | ||
− | if | + | if (found == false) and (p(x)): |
minimum = x | minimum = x | ||
+ | found = True | ||
elif (x < minimum) and (p(x)): | elif (x < minimum) and (p(x)): | ||
− | + | minimum = x | |
print(f"min = {minimum}") | print(f"min = {minimum}") | ||
Строка 161: | Строка 162: | ||
=== Является ли число N>1 простым? === | === Является ли число N>1 простым? === | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
+ | import math | ||
+ | n = int(input('Введите число n: ')) | ||
+ | |||
+ | isPrime = True | ||
+ | for i in range(2, math.floor(math.sqrt(n)) + 1): | ||
+ | if n % i == 0: | ||
+ | isPrime = False | ||
+ | break | ||
+ | |||
+ | if isPrime: | ||
+ | print(f"Число {n} является простым.") | ||
+ | else: | ||
+ | print(f"Число {n} является составным.") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Разложение числа на простые множители === | === Разложение числа на простые множители === | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
+ | x = int(input('Введите число x: ')) | ||
+ | |||
+ | i = 2 | ||
+ | print(f"{x} = 1", end='') | ||
+ | while x != 1: | ||
+ | if x % i == 0: | ||
+ | print(f" * {i}", end='') | ||
+ | x = x / i | ||
+ | else: | ||
+ | i += 1 | ||
</syntaxhighlight> | </syntaxhighlight> |
Текущая версия на 15:13, 27 июня 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 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