Задачи к Занятию 11.


A: Ряд - 1

Даны два целых числа A и B (при этом A≤B). Выведите все числа от A до B включительно.
Ввод
Вывод
1

5
1 2 3 4 5

B: Ряд - 2

Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае.
Ввод
Вывод
5

1
5 4 3 2 1

C: Ряд - 3

Дано натуральное число n. Напечатайте все n-значные нечетные натуральные числа в порядке убывания.
Ввод
Вывод
1
9 7 5 3 1

D: Сумма кубов

По данному натуральном n вычислите сумму 13+23+33+...+n3.
Ввод
Вывод
3
36

E: Сумма произведений соседних чисел

По данному натуральному n вычислите сумму 1×2+2×3+...+(n-1)×n.
Ввод
Вывод
4
20
2
2

F: Факториал

По данному целому неотрицательному n вычислите значение n!
Ввод
Вывод
5
120

G: Цифры числа

Дано 10-значное число. Выведите все цифры этого числа в обратном порядке по одной, разделяя пробелами.
Ввод
Вывод
1234567890
0 9 8 7 6 5 4 3 2 1

H: Сумма произведений соседних чисел - 2

По данному натуральному n≥2 вычислите сумму 1×2+2×3+...+(n-1)×n. Ответ выведите в виде вычисленного выражение и его значения в точности, как показано в примере.
В этой задаче нельзя использовать if.
Ввод
Вывод
4
1*2+2*3+3*4=20
2
1*2=2

I: Флаги

Напишите программу, которая по данному числу n от 1 до 9 выводит на экран n флагов. Изображение одного флага имеет размер 4×4 символов, между двумя соседними флагами также имеется пустой (из пробелов) столбец. Разрешается вывести пустой столбец после последнего флага и вообще допускается вывод пробелов в конце строк. Внутри каждого флага должен быть записан его номер — число от 1 до n.
Символ обратного слэша “\” в текстовых строках имеет специальное значение. Чтобы включить в состав текстовой строки такой символ, его нужно повторить дважды. Например, для вывода на экран одного такого символа можно использовать такой код: print("\\").
Ввод
Вывод
3
+___ +___ +___ 

|1 / |2 / |3 / 

|__\ |__\ |__\ 

|    |    |    
1
+___

|1 /

|__\

|   

J: Четные числа

По данным двум натуральным числам A и B (A≤B) выведите все чётные числа на отрезке от A до B. В этой задаче нельзя использовать инструкцию if.
Ввод
Вывод
1

10
2 4 6 8 10

K: Делители

По данному натуральному числу n1000 выведите все натуральные делители числа n в порядке возрастания.
Ввод
Вывод
10
1 2 5 10

L: Сумма десяти чисел

Дано 10 целых чисел. Вычислите их сумму.
Ввод
Вывод
0

1

2

3

4

5

6

7

8

9
45

M: Сумма N чисел

Дано несколько чисел. Вычислите их сумму. Сначала вводите количество чисел N, затем вводится ровно N целых чисел. Какое наименьшее число переменных нужно для решения этой задачи?
Ввод
Вывод
3

1

20

300
321

N: Количество нулей

Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество.
Ввод
Вывод
5

0

7

0

2

2
2

O: Замечательные числа - 1

Найдите и выведите все двузначные числа, которые равны удвоенному произведению своих цифр.
Программа не требует ввода данных с клавиатуры, просто выводит список искомых чисел.

P: Замечательные числа - 2

Квадрат трехзначного числа оканчивается тремя цифрами, равными этому числу. Найдите и выведите все такие числа.
Программа не требует ввода данных с клавиатуры, просто выводит список искомых чисел.

Q: Замечательные числа - 3

Дано натуральное число n. Выведите в порядке возрастания все трехзначные числа, сумма цифр которых равна n.
Ввод
Вывод
3
102

111

120

201

210

300

R: Лесенка

По данному натуральному n≤9 выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов.
Ввод
Вывод
3
1

12

123

S: Замечательные числа - 4

Даны два четырёхзначных числа A и B. Выведите все четырёхзначные числа на отрезке от A до B, запись которых является палиндромом.
Ввод
Вывод
1600

2100
1661

1771

1881

1991

2002

T: Замечательные числа - 5

Даны два четырёхзначных числа A и B. Выведите в порядке возрастания все четырёхзначные числа на отрезке от A до B, запись которых содержит ровно три одинаковые цифры.
Ввод
Вывод
1900

2100
1911

1999

2000

2022

U: Сумма факториалов

По данному натуральном n вычислите сумму 1!+2!+3!+...+n!. В решении этой задачи можно использовать только один цикл.
Ввод
Вывод
3
9

V: Домино

Рассмотрим N-домино. В таком домино каждая костяшка состоит из двух половинок, на каждой из которых нарисовано от 0 до N точек. Полный комплект костяшек такого домино содержит все возможные костяшки, каждую по одному разу. Например, для N=2 в комплект войдут следующие костяшки: (0,0), (0,1), (0,2), (1,1), (1,2) и (2,2). По заданному N (1N30) определите, сколько всего точек изображено на всех костяшках полного комплекта N-домино.
Ввод
Вывод
2
12

W: Треугольная последовательность

Дана монотонная последовательность, в которой каждое натуральное число k встречается ровно k раз: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, ...
По данному натуральному n выведите первые n членов этой последовательности. Решите задачу при помощи одного цикла for. Операция умножения строки на число также не допускается.
Ввод
Вывод
2
1 2
5
1 2 2 3 3

X: Остатки

Даны целые неотрицательные числа a, b, c, d, при этом 0≤c<d. Выведите в порядке возрастания все числа от a до b, которые дают остаток c при делении на d.
В этой задаче нельзя использовать инструкцию if, операторы сравнения (< и т.д.), должен быть только один цикл.
Ввод
Вывод
1

4

1

2
1 3
1

5

0

4
4

Y: Скорая помощь

Бригада скорой помощи выехала по вызову в один из отделенных районов. К сожалению, когда диспетчер получил вызов, он успел записать только адрес дома и номер квартиры K1, а затем связь прервалась. Однако он вспомнил, что поэтому же адресу дома некоторое время назад скорая помощь выезжала в квартиру K2, которая расположена в подъезде P2 на этаже N2. Известно, что в доме M этажей и количество квартир на каждой лестничной площадке одинаково. Напишите программу, которая вычисляет номер подъезда P1 и номер этажа N1 квартиры K1.
Программа получает на вход пять положительных целых чисел K1, M, K2, P2, N2. Все числа не превосходят 1000.
Выведите два числа P1 и N1. Если входные данные не позволяют однозначно определить P1 или N1, вместо соответствующего числа напечатайте 0. Если входные данные противоречивы, напечатайте два числа –1 (минус один).
Ввод
Вывод
89

20

41

1

11
2 3
11

1

1

1

1
0 1
3

2

2

2

1
-1 -1

Z: Транспортные расходы

Необходимо заказать транспорт для перевозки N человек. Заказывать можно автобусы и такси. В каждый автобус можно посадить не более 50 человек, в каждое такси — не более 4 человек. Стоимость заказа автобуса составляет A рублей, такси — B рублей (разумеется, A > B).
Определите, какое количество автобусов и такси нужно заказать, чтобы потратить как можно меньшую сумму денег.
Программа получает на вход три целых числа: N, A, B (1 ≤ N ≤ 105, 1 ≤ B < A ≤ 1000).
Выведите два числа — количество автобусов и количество такси для заказа в оптимальном случае. Если возможных ответов несколько, выведите любой.
Ввод
Вывод
4

3

2
0 1