Программа: 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)): #конь
Вычислим остатки от деления обоих чисел на 9, для этого заметив, что у числа 10a + c такой же остаток, что и у a + c. Тогда можно, считывая цифру за цифрой, получить остаток для всего числа. Дальше проверяем, чем равно произведение остатков: если делится на 9, то произведение делится на 9, иначе не делится.
function mod9(f: text): integer; var c: char; rem: integer; begin rem := 0; while not eoln(f) do begin read(f, c); rem := (rem + ord(c) - ord('0')) mod 9; end; readln(f); mod9 := rem; end;
var f: text; a: integer;
begin assign(f, 'input.txt'); reset(f); a := mod9(f) * mod9(f); close(f); assign(f, 'output.txt'); rewrite(f); writeln(f, a); if a mod 9 = 0 then write(f, 'YES') else write(f, 'NO'); close(f); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку