a = list(map(int, input().split()))
if len(a) != len(set(a)):
raise ValueError('Числа введены не верно(повторяются)')
z = (a[0]%a[1]==0) and (a[0]%a[2]==0) and (a[0]%a[3]==0)
b = (a[0]%a[1]==0) or (a[0]%a[2]==0) or (a[0]%a[3]==0)
if z: print('Первое число делится без остатка на все введенные числа')
elif b: print('Первое число делится без остатка на одно или два из введенных чисел')
else: print('Первое число не делится без остатка ни на одно из введенных чисел')
if a[2]-a[3] != 0: print((a[0]-a[1])/(a[2]-a[3]))
if a[2]+a[1]+a[3] != 0: print(a[0]/(a[2]+a[1]+a[3]))
print(f'Наибольшее число - {max(a)}')
print(f'Наименьшее число - {min(a)}')
Первый вариант:
a = int(input('Введите a: '))
while True:
b = int(input('Введите b: '))
if a != b: break
print('Введите значение, неравное a')
while True:
c = int(input('Введите c: '))
if not c in [a,b]: break
print('Введите значение, отличное от предыдущих')
while True:
d = int(input('Введите d: '))
if not d in [a,b,c]: break
print('Введите значение, отличное от предыдущих')
print('--- Вы ввели: ---')
print('a = ', a)
print('b = ', b)
print('c = ', c)
print('d = ', d)
print('--- Вычисления ---')
print('1:')
if a%b + a%c + a%d == 0: print('a делится на b, c и d!')
elif a%b == 0: print('a делится на b!')
elif a%c == 0: print('a делится на c!')
elif a%d == 0: print('a делится на d!')
else: print('a не делится ни на b, ни на c, ни на d!')
print('2:')
if c-d == 0: print('Невозможно вычислить (a-b)/(c-d), т.к. c-d = 0')
else: print('(a-b)/(c-d) = ', (a-b)/(c-d))
if c+b+d == 0: print('Невозможно вычислить a/(c+b+d), c+b+d = 0')
else: print('a/(c+b+d) = ', a/(c+b+d))
print('3:')
max = a
min = a
if max < b: max = b
if min > b: min = b
if max < c: max = c
if min > c: min = c
if max < d: max = d
if min > d: min = d
print('Минимальное число из введённых: ', min)
print('Максимальное число из введённых: ', max)
Второй вариант (сложнее читается, но сам по себе компактнее):
values = []
variables = ['a','b','c','d']
check = [0,0,0]
for i in range(4):
while True:
x = int(input(f'Введите {i+1}-е число: '))
if x not in values:
values.append(x)
break
print('Введите значение, отличное от предыдущих')
print(f'--- Вы ввели:')
for i in enumerate(values):
print(f'{variables[i[0]]} = {i[1]}')
print('--- Вычисления ---')
print('1:')
for i in enumerate(values[1:]):
if values[0] % i[1] == 0: check[i[0]] = 1
if sum(check) == 3: print('a делится на остальные!')
elif sum(check) == 0: print('a не делится на остальные!')
else:
for i in enumerate(check):
if i[1] == 1: print(f'a делится на {variables[i[0]+1]}!')
print('2:')
if values[2] == values[3]: print('Невозможно вычислить (a-b)/(c-d), т.к. c-d = 0')
else: print('(a-b)/(c-d) = ', (values[0]-values[1])/(values[2]-values[3]))
if sum(values[1:]) == 0: print('Невозможно вычислить a/(c+b+d), c+b+d = 0')
else: print('a/(c+b+d) = ', values[0]/sum(values[1:]))
print('3:')
print(f'Минимальное число из введённых: {min(values)}')
print(f'Максимальное число из введённых: {max(values)}')
Поделитесь своими знаниями, ответьте на вопрос:
Решите задачу в программе PASCALABC.NET