Top.Mail.Ru
Ответы

Помогите по программированию

Известно, что на втором уровне игры всего используется N блоков.

При запуске уровня игры программный код автоматически помещает самый первый блок в геометрическую середину игрового пространства с координатами X:0, Y:0, Z:0.

Известно, что на втором уровне игры каждый следующий блок смещается относительно предыдущего на 25 стади по оси X и на -25 стади по оси Z.

При этом каждый второй блок поднимается относительно предыдущего на 20 стади по оси Y.

Напишите программу, которая будет сообщать генератору блоков координаты расположения всех блоков с 1 до N-го.



Формат входных данных:

Целое число, обозначающее количество блоков, создаваемых на уровне.

Число не может быть меньше 10 или больше 30.



Формат выходных данных:

10 сообщений с указанием координат создаваемых блоков.

Каждое сообщение имеет следующий вид.

"generate block (X, Y, Z)", где:

X - целое число, обозначающее координату по оси X;

Y - целое число, обозначающее координату по оси Y;

Z - целое число, обозначающее координату по оси Z.


На решение данной задачи отведено 5 попыток.

Sample Input 1:

10
Sample Output 1:

generate block (0, 0, 0)
generate block (25, 20, -25)
generate block (50, 20, -50)
generate block (75, 40, -75)
generate block (100, 40, -100)
generate block (125, 60, -125)
generate block (150, 60, -150)
generate block (175, 80, -175)
generate block (200, 80, -200)
generate block (225, 100, -225)
Sample Input 2:

9
Sample Output 2:

error
Sample Input 3:

32
Sample Output 3:

error
Sample Input 4:

11
Sample Output 4:

generate block (0, 0, 0)
generate block (25, 20, -25)
generate block (50, 20, -50)
generate block (75, 40, -75)
generate block (100, 40, -100)
generate block (125, 60, -125)
generate block (150, 60, -150)
generate block (175, 80, -175)
generate block (200, 80, -200)
generate block (225, 100, -225)
generate block (250, 100, -250)
Напишите программу. Тестируется через stdin → stdout

По дате
По рейтингу
Аватар пользователя
Ученик
12345678910111213141516
 x = 0 
y = 0 
z = 0 
n = int(input()) 
o = 1 

if 10 <= a <= 30:
    for i in range(a):
        print(f'generate block ({x}, {y}, {z})')
    x += 25 
    z -= 25 
    o += 1
    if o % 2 ==0:
        y += 20  
else:
    print('error') 
Аватар пользователя
Ученик

Держи
x = 0
y = 0
z = 0
n = int(input())
o = 1
for _ in range(n):
print('generate block', x, y, z)

for _ in range(1):
x += 25
z -= 25
for _ in range(1):
o += 1
if o % 2 != 0:
continue
y += 20

Аватар пользователя
Ученик

я хз сам думай