''' Вводятся четыре числа: xa, ya: координаты ферзя xb, yb: координаты другой фигуры
Координаты - целые числа в интервале от 1 до 8.
Вывод - булево значение: сможет ли ферзь побить фигуру за 1 ход. ''' def hits(xa, ya, xb, yb) -> bool: ''' Проверка аргументов. ''' args = (xa, ya, xb, yb) if any([not 1 <= z <= 8 for z in args]): raise ValueError("Неверные координаты!")
''' На одной прямой. ''' if xa == xb or ya == yb: return True
''' Северо-западная диагональ. ''' x_nw, y_nw = xa, ya while x_nw > 1 and y_nw > 1: x_nw -= 1 y_nw -= 1 if x_nw == xb and y_nw == yb: return True
''' Юго-восточная диагональ. ''' x_se, y_se = xa, ya while x_se < 8 and y_se < 8: x_se += 1 y_se += 1 if x_se == xb and y_se == yb: return True
''' Юго-западная диагональ. ''' x_sw, y_sw = xa, ya while x_sw > 1 and y_se < 8: x_sw -= 1 y_sw += 1 if x_sw == xb and y_sw == yb: return True
''' Северо-восточная диагональ. ''' x_ne, y_ne = xa, ya while x_ne < 8 and y_se > 1: x_ne += 1 y_ne -= 1 if x_ne == xb and y_ne == yb: return True
return False # если не бьет
inp = [int(x) for x in input().split()] if hits(*inp): print('YES') else: print('NO')
python
13)
for i in range(48):
if i % 3 == 0:
print(i)
elif i % 2 == 0:
print(i)
elif i % 7 == 0:
print(i)
elif i % 3 == 2:
print(i)
elif i % 5 == 3:
print(i)
14)
from math import floor
for i in range(30, 3000):
if i / 5 == floor(i / 5) and i / 7 != floor(i / 7):
print(i)
15)
amount = 0
new = 1000
day = 0
while amount < 30000:
amount += new
new *= 2
day += 1
print(day)
16)
from math import floor
simple = True
number = int(input('Введите число: '))
for i in range(2, number):
if number / i == floor(number / i):
simple = False
break
if simple:
print('простое')
else:
print('не простое')
17)
from math import floor
N = int(input('Введите N: '))
M = int(input('Введите M: '))
number = max(N, M)
while True:
if number / N == floor(number / N) and number / M == floor(number / M):
print(number)
break
else:
number += 1
18)
from math import floor
for i in [int(i) for i in input('Введите числа через пробел: ').split()]:
if i / 4 == floor(i / 4) and i / 7 == floor(i / 7):
print(i)
19)
number = int(input('Введите число: '))
if number**2 > 18:
for i in range(number+1, number+11):
print(i**2)
else:
print(number)
20)
age = input('Введите возраст: ')
if age < 6:
print('дошкольник')
#я в школу пошел в 6 лет
elif 6 <= age < 18:
print('школьник')
#закончу школу в 17 лет
elif 18 <= age < 58:
print('работник')
elif age >= 58:
print('пенсионер')
#у нас в Украине в 2017 году пенсионный возраст для женщин составляет 58 лет
#написал эти коментарии чтоб было понятно почему именно эти цифры
21)
from math import floor
number = int(input('Введите число: '))
for i in range(2, number):
simple = True
for z in range(2, i):
if i / z == floor(i / z):
simple = False
break
if simple:
print(i)
# Python 3.X
'''
Вводятся четыре числа:
xa, ya: координаты ферзя
xb, yb: координаты другой фигуры
Координаты - целые числа
в интервале от 1 до 8.
Вывод - булево значение:
сможет ли ферзь побить фигуру
за 1 ход.
'''
def hits(xa, ya, xb, yb) -> bool:
'''
Проверка аргументов.
'''
args = (xa, ya, xb, yb)
if any([not 1 <= z <= 8 for z in args]):
raise ValueError("Неверные координаты!")
'''
На одной прямой.
'''
if xa == xb or ya == yb:
return True
'''
Северо-западная диагональ.
'''
x_nw, y_nw = xa, ya
while x_nw > 1 and y_nw > 1:
x_nw -= 1
y_nw -= 1
if x_nw == xb and y_nw == yb:
return True
'''
Юго-восточная диагональ.
'''
x_se, y_se = xa, ya
while x_se < 8 and y_se < 8:
x_se += 1
y_se += 1
if x_se == xb and y_se == yb:
return True
'''
Юго-западная диагональ.
'''
x_sw, y_sw = xa, ya
while x_sw > 1 and y_se < 8:
x_sw -= 1
y_sw += 1
if x_sw == xb and y_sw == yb:
return True
'''
Северо-восточная диагональ.
'''
x_ne, y_ne = xa, ya
while x_ne < 8 and y_se > 1:
x_ne += 1
y_ne -= 1
if x_ne == xb and y_ne == yb:
return True
return False # если не бьет
inp = [int(x) for x in input().split()]
if hits(*inp):
print('YES')
else:
print('NO')