С использованием процедур и функций.
1. Напишите программу, которая находит все числа в диапазоне от a до b , сумма цифр которых не меняется при умножении на 2, 3, 4, 5, 6, 7, 8 и 9 (например, число 9). Используйте функцию для вычисления суммы цифр числа.
Входные данные
Входная строка содержит два натуральных числа – границы диапазона a и b . Гарантируется, что a ≤ b .
Выходные данные
Программа должна вывести все числа, удовлетворяющие условию, в одной строке, разделив их пробелами. Если таких чисел нет, нужно вывести число 0.
Примеры
входные данные
1 10
выходные данные
9
2. Ряд чисел Фибоначчи задается следующим образом: первые два числа равны 1 ( F 1 = F 2 = 1 ), а каждое следующее равно сумме двух предыдущих: F i = F i - 1 + F i - 2 . Напишите программу, которая вводит натуральное число N и выводит первые N чисел Фибоначчи.
Входные данные
Входная строка содержит натуральное число N – количество нужных чисел Фибоначчи.
Выходные данные
Программа должна вывести в одной строке первые N чисел Фибоначчи, разделив их пробелами.
Примеры
входные данные
5
выходные данные
1 1 2 3 5
3.
Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 36. Используйте процедуру.
Входные данные
Входная строка содержит целое число N и основание системы счисления B , разделённые пробелом. Гарантируется, что 2 ≤ B ≤ 36 .
Выходные данные
Программа должна вывести представление переданного её числа N в системе счисления с основанием B . При записи чисел в системах с основанием большим 10 используются прописные латинские буквы.
Answers & Comments
1)
def smm_numbers(x):
sm = 0
sm_num = 0
for _ in x:
sm += int(_)
for j in range(2, 10):
j = str(j * int(x))
for p in j:
sm_num += int(p)
if sm_num != sm:
return False
sm_num = 0
return True
a, b = map(int, input().split())
count = 0
for i in range(a, b + 1):
if smm_numbers(str(i)):
print(i)
count += 1
if count == 0:
print(0)
2)
def fib(n):
if n == 0 or n == 1:
return 1
else:
return fib(n - 1) + fib(n - 2)
for i in range(int(input())):
print(fib(i), end=' ')
3)
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def now_system_10(x):
global new_system
znak = '+'
if x < 0:
x = abs(x)
znak = '-'
new_x = ''
lst = []
while x >= new_system or lst == []:
if 9 < x % new_system:
if x % new_system < 20:
lst += [alphabet[int(str(x % new_system)[1])]]
elif x % new_system < 30:
lst += [alphabet[int('1' + str(x % new_system)[1])]]
else:
lst += [alphabet[int('2' + str(x % new_system)[1])]]
else:
lst += [x % new_system]
x //= new_system
if x != 0:
lst += [x]
lst.reverse()
if znak == '-':
new_x += '-'
for j in lst:
new_x += str(j)
return new_x
num, new_system = map(int, input().split())
print(now_system_10(num))