first file solution was finished

This commit is contained in:
2023-05-28 11:18:03 +07:00
parent 30003a1f73
commit 0b3948e29f

107
README.md
View File

@@ -6,7 +6,7 @@ for i in range(10_000, 99_999):
if i % 133 == 125 and i % 134 == 111:
print(i)
```
**2** Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N количество цифр в числе) равна самому числу. Например, 153 = 13 + 53 + 33. Найдите все трёхзначные Армстронга.
**2.** Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N количество цифр в числе) равна самому числу. Например, 153 = 13 + 53 + 33. Найдите все трёхзначные Армстронга.
**Решение:**
```Python
print("3-x значные числа Армстронга:")
@@ -42,9 +42,9 @@ for i in range(a, b+1):
```
**5.** Напишите программу, которая получает два целых числа и находит их произведение, не используя операцию умножения. Учтите, что числа могут быть отрицательными.
Пример:
Введите два числа:
```Введите два числа:
10 -15
10*(-15)=-150
10*(-15)=-150```
**Решение:**
```Python
print("Введите два целых числа:")
@@ -61,3 +61,104 @@ if b >= 0:
else:
print(f"{a}*({b})={res}")
```
<div style="color: red;"><b>6.<b></div> (не будет на КЗН) Ввести натуральное число N и вычислить сумму всех чисел Фибоначчи, меньших N. Предусмотрите защиту от ввода отрицательного числа N.
Пример:
```Введите число N:
10000
Сумма 17709```
**Решение:**
```Python
n = int(input("Введите число N: "))
if n <= 0:
print("Программа принимает только натуральное число N")
exit(0)
f1, f2 = 1, 2
s = 0
while f1 < n:
s += f1
f1, f2 = f2, f1+f2
print("Сумма", s)
```
<div style="color: red;"><b>7.<b></div> (не будет на КЗН) Дано натуральное число n. Вычислить:
$$
(1+{1 \over 1_^2^})*(1+{1 \over 2_^2^}) ... (1+{1 \over n_^2^})
$$
**Решение:**
```Python
n = int(input("Введите число N: "))
if n <= 0:
print("Программа принимает только натуральные числа N")
exit(0)
m = 1
for i in range(1, n+1):
m *= (1 + 1/i**2)
print(f"Произведение: {m}")
```
**8.** Ввести натуральное число и найти сумму его цифр.
Пример:
```Введите натуральное число:
12345
Сумма цифр 15.```
**Решение:**
```Python
n = int(input("Введите число N: "))
s = 0
while n > 0:
digit = n % 10
s += digit
n //= 10
print("Сумма цифр", s)
```
**№9.** Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом.
```
Пример:
Введите натуральное число:
12342
Нет. ```
```Пример:
Введите натуральное число:
12245
Да. ```
**Решение:**
```Python
n = input("Введите натуральное число: ")
for i in range(1, len(n)):
if n[i] == n[i-1]:
print("Да.")
break # Выходим из цикла
else: # Выполнится, если цикл завершился без break
print("Нет.")
```
**№10.** Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры (не обязательно стоящие рядом).
```Пример:
Введите натуральное число:
12342
Да.```
```Пример:
Введите натуральное число:
12345
Нет. ```
**Решение:**
```Python
n = input("Введите натуральное число: ")
digits = []
unique_digits = set()
for digit in n:
"""
Добавляем элементы в список digits и множество unique_digits.
Последнее содержит только уникальные элементы, в отличии от списка.
Следовательно, если есть повторяющиеся числа, значит количество элементов в списке
и множетсве будет различным.
"""
digits.append(digit)
unique_digits.add(digit)
if len(digits) != len(unique_digits):
print("Да.")
else:
print("Нет.")
```