Программа: a = input("Введите текущую координату фигуры(вертикаль): ") b = input("Введите текущую координату фигуры(горизонталь): ") c = input("Введите координату для хода(вертикаль): ") d = input("Введите координату для хода(горизонталь): ") # Условие if (a==c) and (b==c): #Конец условия print("Фигура может сделать ход") else: print("Фигура НЕ может сделать ход") Условия: а) if (a==c) and (b==c): #ладья б) if abs(a-c) == abs(b-d): #слон в) if abs(a-c)==1 or abs(b-d)==1: #король г) if abs(a-c) == abs(b-d) or a == c or b == d: #ферзь ж) if((abs(abs(a-c)-2)<0.5) and (abs(abs(b-d)-1)<0.5) or (abs(abs(a-c)-1)<0.5) and (abs(abs(b-d)-2.0)<0.5)): #конь
Немного теории. Для того, чтобы избежать переполнения разрядной сетки, значение квадрата натурального числа не должно превышать максимального числа, представимого выбранным типом данных. В языке Паскаль числа типа longint записываются в четырех байтах в дополнительном коде, т.е. максимальное значение числа не может превышать 2³¹-1. Тогда максимальное натуральное число, квадрат которого мы можем вычислить, равно целой части от величины:
//PascalABC.Net 3.0, сборка 1066 var s:string; i,n,lim,l:longint; begin lim:=Trunc(exp(15.5*ln(2))); Write('Введите номер позиции: '); Read(n); i:=0; l:=0; while (l<n) and (i<=lim) do begin Inc(i); Str(i*i,s); l:=l+Length(s); end; if i<=lim then Writeln('Искомая цифра- ',s[Length(s)-l+n]) else Writeln('Решения в типе данных longint невозможно') end.
Тестовое решение: Введите номер позиции: 4 Искомая цифра- 1
Введите номер позиции: 33 Искомая цифра- 5
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку