Так как числа представлены в восьмеричной системе счисления, x, y, z ≤ 7. Более того, в числах с количеством цифр больше одной цифры в старшем разряде ненулевые, то есть x, y ≥ 1. Переведём все числа в десятичную систему счисления:
Правая часть делится на 4, значит, и левая делится на 4. Так как x ∈ [1; 7], x = 4. Тогда z - y = 5. Если y = 1, то z = 6; если y = 2, то z = 7. При больших y z ≥ 8, чего быть не может. Значит, получаем две тройки решений: (x, y, z) = (4, 1, 6), (4, 2, 7).
(x, y, z) = (4, 1, 6), (4, 2, 7)
Объяснение:
Так как числа представлены в восьмеричной системе счисления, x, y, z ≤ 7. Более того, в числах с количеством цифр больше одной цифры в старшем разряде ненулевые, то есть x, y ≥ 1. Переведём все числа в десятичную систему счисления:
Правая часть делится на 4, значит, и левая делится на 4. Так как x ∈ [1; 7], x = 4. Тогда z - y = 5. Если y = 1, то z = 6; если y = 2, то z = 7. При больших y z ≥ 8, чего быть не может. Значит, получаем две тройки решений: (x, y, z) = (4, 1, 6), (4, 2, 7).
#Python 3.8.3
from typing import *
def FindFirstIndex(source: Iterable[Any], predicate: Callable[[Any], Any]):
for index, item in enumerate(source):
if (predicate(item)):
return index
def main():
arr = [1, 2, 3, 4, 5, -1, 2, -4]
firstOdd = FindFirstIndex(arr, lambda p: p % 2 != 0)
firstNegative = FindFirstIndex(arr, lambda p: p < 0)
arr[firstOdd], arr[firstNegative] = arr[firstNegative], arr[firstOdd]
print(arr)
if __name__ == '__main__':
main()
Объяснение: