С использованием процедур и функций.
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 используются прописные латинские буквы.

арсен2000 арсен2000    3   09.04.2020 15:23    51

Ответы
erasildamir erasildamir  12.08.2020 12:59

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 = ''

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))

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика